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: 1cba30bf9f ("io_uring: add support for IORING_SETUP_SQE_MIXED")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
418eab7a6f
commit
b59efde9e6
|
|
@ -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, "
|
||||
|
|
|
|||
Loading…
Reference in New Issue