summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander A. Klimov <grandmaster@al2klimov.de>2026-05-20 20:00:44 +0200
committerJens Axboe <axboe@kernel.dk>2026-05-21 11:10:56 -0600
commite97ff8b62d4690c69297f0f6de874f0564cc01a4 (patch)
treefc46f173746f9d2127ffe63ef7e4f275af6ebf9d
parent3d879647fb03dab6fe6e1dd9404a2dd324096218 (diff)
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: a85f31052bce ("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>
-rw-r--r--io_uring/nop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/io_uring/nop.c b/io_uring/nop.c
index 3caf07878f8a..f5c9969e7f64 100644
--- a/io_uring/nop.c
+++ b/io_uring/nop.c
@@ -79,9 +79,9 @@ done:
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);