Signed-off-by: Christian Brauner --- fs/exec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index 4298e7e08d5d..7d9fffb38ee5 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1280,12 +1280,13 @@ int begin_new_exec(struct linux_binprm * bprm) /* Pass the opened binary to the interpreter. */ if (bprm->have_execfd) { - retval = get_unused_fd_flags(0); - if (retval < 0) + FD_PREPARE(fdf, 0, bprm->executable); + if (fdf.err) { + retval = fdf.err; goto out_unlock; - fd_install(retval, bprm->executable); + } bprm->executable = NULL; - bprm->execfd = retval; + bprm->execfd = fd_publish(fdf); } return 0; -- 2.47.3