Commit b59efde9 authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring/fdinfo: fix SQE_MIXED SQE displaying



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: 1cba30bf ("io_uring: add support for IORING_SETUP_SQE_MIXED")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 418eab7a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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, "