[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <14195206-47b1-4483-996d-3315aa7c33aa@kernel.dk>
Date: Tue, 22 Apr 2025 10:32:34 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Zhiwei Jiang <qq282012236@...il.com>, viro@...iv.linux.org.uk
Cc: brauner@...nel.org, jack@...e.cz, akpm@...ux-foundation.org,
peterx@...hat.com, asml.silence@...il.com, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org, io-uring@...r.kernel.org
Subject: Re: [PATCH v2 1/2] io_uring: Add new functions to handle user fault
scenarios
On 4/22/25 10:29 AM, Zhiwei Jiang wrote:
> diff --git a/io_uring/io-wq.h b/io_uring/io-wq.h
> index d4fb2940e435..8567a9c819db 100644
> --- a/io_uring/io-wq.h
> +++ b/io_uring/io-wq.h
> @@ -70,8 +70,10 @@ enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel,
> void *data, bool cancel_all);
>
> #if defined(CONFIG_IO_WQ)
> -extern void io_wq_worker_sleeping(struct task_struct *);
> -extern void io_wq_worker_running(struct task_struct *);
> +extern void io_wq_worker_sleeping(struct task_struct *tsk);
> +extern void io_wq_worker_running(struct task_struct *tsk);
> +extern void set_userfault_flag_for_ioworker(void);
> +extern void clear_userfault_flag_for_ioworker(void);
> #else
> static inline void io_wq_worker_sleeping(struct task_struct *tsk)
> {
> @@ -79,6 +81,12 @@ static inline void io_wq_worker_sleeping(struct task_struct *tsk)
> static inline void io_wq_worker_running(struct task_struct *tsk)
> {
> }
> +static inline void set_userfault_flag_for_ioworker(void)
> +{
> +}
> +static inline void clear_userfault_flag_for_ioworker(void)
> +{
> +}
> #endif
>
> static inline bool io_wq_current_is_worker(void)
This should go in include/linux/io_uring.h and then userfaultfd would
not have to include io_uring private headers.
But that's beside the point, like I said we still need to get to the
bottom of what is going on here first, rather than try and paper around
it. So please don't post more versions of this before we have that
understanding.
See previous emails on 6.8 and other kernel versions.
--
Jens Axboe
Powered by blists - more mailing lists