ebied...@xmission.com (Eric W. Biederman) writes: > 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. > > Signed-off-by: Eric W. Biederman <ebied...@xmission.com> > --- > > This is against my exec-for-v5.11 branch
applied. > fs/exec.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/exec.c b/fs/exec.c > index 14fae2ec1c9d..9e9368603168 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;