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

io_uring: fix missing io_grab_files()



We won't have valid ring_fd, ring_file in task work. Grab files early.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a6d45dd0
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -5270,15 +5270,15 @@ static int io_req_defer_prep(struct io_kiocb *req,
	if (!sqe)
		return 0;

	if (for_async || (req->flags & REQ_F_WORK_INITIALIZED)) {
		io_req_init_async(req);

	if (io_op_defs[req->opcode].file_table) {
		io_req_init_async(req);
		ret = io_grab_files(req);
		if (unlikely(ret))
			return ret;
	}

	if (for_async || (req->flags & REQ_F_WORK_INITIALIZED)) {
		io_req_init_async(req);
		io_req_work_grab_env(req, &io_op_defs[req->opcode]);
	}