io_uring: don't do extra EXITING cancellations

io_match_task() matches all requests with PF_EXITING task, even though
those may be valid requests. It was necessary for SQPOLL cancellation,
but now it kills all requests before exiting via
io_uring_cancel_sqpoll(), so it's not needed.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Pavel Begunkov 2021-03-22 01:58:25 +00:00 коммит произвёл Jens Axboe
Родитель d4729fbde7
Коммит 682076801a
1 изменённых файлов: 1 добавлений и 5 удалений

Просмотреть файл

@ -1079,12 +1079,8 @@ static bool io_match_task(struct io_kiocb *head,
{
struct io_kiocb *req;
if (task && head->task != task) {
/* in terms of cancelation, always match if req task is dead */
if (head->task->flags & PF_EXITING)
return true;
if (task && head->task != task)
return false;
}
if (!files)
return true;