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;

Reply via email to