Commit cf2f5425 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

io_uring: don't fail iopoll requeue without ->mm



Actually, io_iopoll_queue() may have NULL ->mm, that's if SQ thread
didn't grabbed mm before doing iopoll. Don't fail reqs there, as after
recent changes it won't be punted directly but rather through task_work.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ab0b6451
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -1902,9 +1902,7 @@ static void io_iopoll_queue(struct list_head *again)
	do {
		req = list_first_entry(again, struct io_kiocb, list);
		list_del(&req->list);

		/* should have ->mm unless io_uring is dying, kill reqs then */
		if (unlikely(!current->mm) || !io_rw_reissue(req, -EAGAIN))
		if (!io_rw_reissue(req, -EAGAIN))
			io_complete_rw_common(&req->rw.kiocb, -EAGAIN, NULL);
	} while (!list_empty(again));
}