io_uring: grab any needed state during defer prep

Always grab work environment for deferred links. The assumption that we
will be running it always from the task in question is false, as exiting
tasks may mean that we're deferring this one to a thread helper. And at
that point it's too late to grab the work environment.

Fixes: debb85f496 ("io_uring: factor out grab_env() from defer_prep()")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Jens Axboe 2020-09-12 13:18:10 -06:00
Родитель c127a2a1b7
Коммит 202700e18a
1 изменённых файлов: 2 добавлений и 0 удалений

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

@ -5449,6 +5449,8 @@ static int io_req_defer_prep(struct io_kiocb *req,
if (unlikely(ret))
return ret;
io_prep_async_work(req);
switch (req->opcode) {
case IORING_OP_NOP:
break;