commit | f3a6fa2267480d7f19fbde8316372be46055e548 | [log] [tgz] |
---|---|---|
author | Pavel Begunkov <asml.silence@gmail.com> | Sun Jun 28 12:52:38 2020 +0300 |
committer | Jens Axboe <axboe@kernel.dk> | Sun Jun 28 08:13:03 2020 -0600 |
tree | 4f8eaac8f348559a00b3dda4b42a61ac159af7bc | |
parent | 3adfecaa647ff8afa4b6f5907193cf751a0f8351 [diff] |
io_uring: fix iopoll -EAGAIN handling req->iopoll() is not necessarily called by a task that submitted a request. Because of that, it's dangerous to grab_env() and punt async on -EGAIN, potentially grabbing another task's mm and corrupting its memory. Do resubmit from the submitter task context. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>