From: Eric W. Biederman Date: Mon, 30 Nov 2020 22:58:46 +0000 (-0600) Subject: exec: Move io_uring_task_cancel after the point of no return X-Git-Tag: microblaze-v5.12~138^2 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=9ee1206dcfb9d56503c0de9f8320f7b29c795867;p=linux-2.6-microblaze.git exec: Move io_uring_task_cancel after the point of no return Now that unshare_files happens in begin_new_exec after the point of no return, io_uring_task_cancel can also happen later. Effectively this means io_uring activities for a task are only canceled when exec succeeds. Link: https://lkml.kernel.org/r/878saih2op.fsf@x220.int.ebiederm.org Signed-off-by: Eric W. Biederman --- diff --git a/fs/exec.c b/fs/exec.c index 48fa4fc1b116..9917ebcd0fe5 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1257,6 +1257,11 @@ int begin_new_exec(struct linux_binprm * bprm) if (retval) goto out; + /* + * Cancel any io_uring activity across execve + */ + io_uring_task_cancel(); + /* Ensure the files table is not shared. */ retval = unshare_files(); if (retval) @@ -1783,11 +1788,6 @@ static int bprm_execve(struct linux_binprm *bprm, struct file *file; int retval; - /* - * Cancel any io_uring activity across execve - */ - io_uring_task_cancel(); - retval = prepare_bprm_creds(bprm); if (retval) return retval;