mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
io_uring: zero big_cqe for aux CQEs on CQE32 rings
io_fill_cqe_aux() only clears big_cqe if cqe32 is set, which is only the
case for CQE_MIXED. On a CQE32 ring every CQE is 32b, and the extra 16b
are left holding whatever was in that slot before.
Clear it for CQE32 rings as well, like it was before CQE_MIXED support
was added.
Fixes: e26dca67fd ("io_uring: add support for IORING_SETUP_CQE_MIXED")
Assisted-by: LLM
Signed-off-by: Hui Peng <benquike@gmail.com>
Link: https://patch.msgid.link/20260919203516.2581409-1-benquike@gmail.com
[axboe: split from Hui's original patch, edited commit message]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
ab5853c068
commit
f11a16c820
|
|
@ -783,7 +783,7 @@ static bool io_fill_cqe_aux(struct io_ring_ctx *ctx, u64 user_data, s32 res,
|
|||
WRITE_ONCE(cqe->res, res);
|
||||
WRITE_ONCE(cqe->flags, cflags);
|
||||
|
||||
if (cqe32) {
|
||||
if (cqe32 || (ctx->flags & IORING_SETUP_CQE32)) {
|
||||
WRITE_ONCE(cqe->big_cqe[0], 0);
|
||||
WRITE_ONCE(cqe->big_cqe[1], 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user