[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <b8e8a0f8-12fa-5dc4-6bcc-a274a8b2adec@gmail.com>
Date: Wed, 10 Mar 2021 13:40:43 +0000
From: Pavel Begunkov <asml.silence@...il.com>
To: Hillf Danton <hdanton@...a.com>,
syzbot <syzbot+ac39856cb1b332dbbdda@...kaller.appspotmail.com>
Cc: axboe@...nel.dk, io-uring@...r.kernel.org,
linux-kernel@...r.kernel.org, syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] possible deadlock in io_sq_thread_finish
On 10/03/2021 04:10, Hillf Danton wrote:>
> Fix 05ff6c4a0e07 ("io_uring: SQPOLL parking fixes") in the current tree
> by removing the extra set of IO_SQ_THREAD_SHOULD_STOP in response to
> the arrival of urgent signal because it misleads io_sq_thread_stop(),
> though a followup cleanup should go there.
That's actually reasonable, just like
8bff1bf8abeda ("io_uring: fix io_sq_offload_create error handling")
Are you going to send a patch?
>
> --- x/fs/io_uring.c
> +++ y/fs/io_uring.c
> @@ -6689,10 +6689,8 @@ static int io_sq_thread(void *data)
> io_sqd_init_new(sqd);
> timeout = jiffies + sqd->sq_thread_idle;
> }
> - if (fatal_signal_pending(current)) {
> - set_bit(IO_SQ_THREAD_SHOULD_STOP, &sqd->state);
> + if (fatal_signal_pending(current))
> break;
> - }
> sqt_spin = false;
> cap_entries = !list_is_singular(&sqd->ctx_list);
> list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) {
>
--
Pavel Begunkov
Powered by blists - more mailing lists