mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
io_uring/nop: pass all errors to userspace
This fixes an inconsistency where io_nop() called req_set_fail()
based on ret, but passed just nop->result to userspace.
Originally, ret is a even copy of nop->result, but is set to an error
when such happens subsequently. Now that's also passed to userspace.
Fixes: a85f31052b ("io_uring/nop: add support for testing registered files and buffers")
Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Link: https://patch.msgid.link/20260520180045.538533-1-grandmaster@al2klimov.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
3d879647fb
commit
e97ff8b62d
|
|
@ -79,9 +79,9 @@ int io_nop(struct io_kiocb *req, unsigned int issue_flags)
|
|||
if (ret < 0)
|
||||
req_set_fail(req);
|
||||
if (nop->flags & IORING_NOP_CQE32)
|
||||
io_req_set_res32(req, nop->result, 0, nop->extra1, nop->extra2);
|
||||
io_req_set_res32(req, ret, 0, nop->extra1, nop->extra2);
|
||||
else
|
||||
io_req_set_res(req, nop->result, 0);
|
||||
io_req_set_res(req, ret, 0);
|
||||
if (nop->flags & IORING_NOP_TW) {
|
||||
req->io_task_work.func = io_req_task_complete;
|
||||
io_req_task_work_add(req);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user