io_uring: clear TIF_NOTIFY_SIGNAL if set and task_work not available
authorJens Axboe <axboe@kernel.dk>
Fri, 25 Nov 2022 16:36:29 +0000 (09:36 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 25 Nov 2022 17:55:08 +0000 (10:55 -0700)
commit7cfe7a09489c1cefee7181e07b5f2bcbaebd9f41
tree2b7d696853a5ffdf093132952557e84286eff5d9
parent12ad3d2d6c5b0131a6052de91360849e3e154846
io_uring: clear TIF_NOTIFY_SIGNAL if set and task_work not available

With how task_work is added and signaled, we can have TIF_NOTIFY_SIGNAL
set and no task_work pending as it got run in a previous loop. Treat
TIF_NOTIFY_SIGNAL like get_signal(), always clear it if set regardless
of whether or not task_work is pending to run.

Cc: stable@vger.kernel.org
Fixes: 46a525e199e4 ("io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.h