Files
linux/io_uring
Pavel Begunkov f6dc5a3619 io_uring: fix mixed cqe overflow handling
I started to see zcrx data corruptions. That turned out to be due
to CQ tail pointing to a stale entry which happened to be from
a zcrx request. I.e. the tail is incremented without the CQE
memory being changed.

The culprit is __io_cqring_overflow_flush() passing "cqe32=true"
to io_get_cqe_overflow() for non-mixed CQE32 setups, which only
expects it to be set for mixed 32B CQEs and not for SETUP_CQE32.

The fix is slightly hacky, long term it's better to unify mixed and
CQE32 handling.

Fixes: e26dca67fd ("io_uring: add support for IORING_SETUP_CQE_MIXED")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-11-25 07:03:45 -07:00
..
2025-01-28 15:10:40 -07:00
2025-09-08 08:06:37 -06:00
2025-02-17 16:43:04 -08:00
2025-03-07 13:41:08 -07:00
2025-06-23 09:00:12 -06:00
2025-09-08 08:06:37 -06:00
2025-07-16 16:23:28 -06:00
2024-02-09 09:04:39 -07:00
2025-11-03 08:55:58 -07:00
2025-11-03 08:55:58 -07:00