public inbox for [email protected]
 help / color / mirror / Atom feed
From: Jens Axboe <[email protected]>
To: Bart Van Assche <[email protected]>,
	io-uring <[email protected]>
Subject: Re: [PATCH] io-wq: ensure work->task_pid is cleared on init
Date: Tue, 25 Feb 2020 12:56:20 -0700	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

On 2/25/20 12:38 PM, Bart Van Assche wrote:
> On 2/25/20 10:55 AM, Jens Axboe wrote:
>> We use ->task_pid for exit cancellation, but we need to ensure it's
>> cleared to zero for io_req_work_grab_env() to do the right thing.
> 
> How about initializing .task_pid with this (totally untested) patch?
> 
> diff --git a/fs/io-wq.h b/fs/io-wq.h
> index ccc7d84af57d..b8d3287cec57 100644
> --- a/fs/io-wq.h
> +++ b/fs/io-wq.h
> @@ -80,15 +80,7 @@ struct io_wq_work {
>   };
> 
>   #define INIT_IO_WORK(work, _func)			\
> -	do {						\
> -		(work)->list.next = NULL;		\
> -		(work)->func = _func;			\
> -		(work)->files = NULL;			\
> -		(work)->mm = NULL;			\
> -		(work)->creds = NULL;			\
> -		(work)->fs = NULL;			\
> -		(work)->flags = 0;			\
> -	} while (0)					\
> +	do { *(work) = (struct io_wq_work){ .func = _func }; } while (0)
> 
>   typedef void (get_work_fn)(struct io_wq_work *);
>   typedef void (put_work_fn)(struct io_wq_work *);

That's not a bad idea and would be more future proof, in case more fields
are added at a later date.

-- 
Jens Axboe


      reply	other threads:[~2020-02-25 19:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-25 18:55 [PATCH] io-wq: ensure work->task_pid is cleared on init Jens Axboe
2020-02-25 19:38 ` Bart Van Assche
2020-02-25 19:56   ` Jens Axboe [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox