]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
io_uring/fdinfo: fix SQE_MIXED SQE displaying
authorJens Axboe <axboe@kernel.dk>
Thu, 26 Mar 2026 13:02:53 +0000 (07:02 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 26 Mar 2026 13:15:55 +0000 (07:15 -0600)
When displaying pending SQEs for a MIXED ring, each 128-byte SQE
increments sq_head to skip the second slot, but the loop counter is not
adjusted. This can cause the loop to read past sq_tail by one entry for
each 128-byte SQE encountered, displaying SQEs that haven't been made
consumable yet by the application.

Match the kernel's own consumption logic in io_init_req() which
decrements what's left when consuming the extra slot.

Fixes: 1cba30bf9fdd ("io_uring: add support for IORING_SETUP_SQE_MIXED")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/fdinfo.c

index 80178b69e05a25209924cc9eb1c16e256f1b4962..25c92ace18bd13c685ba2a358b3122476ded3295 100644 (file)
@@ -125,6 +125,7 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m)
                                        sq_idx);
                                break;
                        }
+                       i++;
                        sqe128 = true;
                }
                seq_printf(m, "%5u: opcode:%s, fd:%d, flags:%x, off:%llu, "