Re: [PATCH v2 0/2] io_uring: fix CQE32 and CQE_MIXED ring refill handling
From: Jens Axboe
Date: Thu Sep 24 2026 - 08:58:00 EST
On 9/24/26 12:35 AM, Hui Peng wrote:
> This series fixes two issues in io_cqe_cache_refill() and
> io_fill_nop_cqe() for 32-byte CQEs:
>
> 1. Restrict skip CQE insertion at off + 1 == ctx->cq_entries to
> IORING_SETUP_CQE_MIXED rings so pure IORING_SETUP_CQE32 rings do not
> emit bogus IORING_CQE_F_SKIP entries.
> 2. Require 3 free CQ slots in io_fill_nop_cqe() before emitting a skip
> CQE for a 32-byte CQE wrapping across the end of an
> IORING_SETUP_CQE_MIXED ring, preventing an orphan skip CQE when fewer
> than 3 slots are free.
>
> Changes in v2:
> - Split into a 2-patch series and drop the third hunk from v1, as
> requested by Jens Axboe.
Sorry maybe my reply got lost, but I did do this work for you and
split it into a 7.3 and 7.4 set. See my branches here:
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git/log/?h=for-7.4/io_uring
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git/log/?h=io_uring-7.3
Please take a look.
--
Jens Axboe