]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
io_uring: fix nvme's 32b cqes on mixed cq
authorKeith Busch <kbusch@kernel.org>
Fri, 19 Sep 2025 19:38:58 +0000 (12:38 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 20 Sep 2025 12:26:38 +0000 (06:26 -0600)
commit79525b51acc1c8e331ab47eb131a99f5370a76c2
treed3e32455ec12777b572c7c16007940f659257e51
parent7ea24326e72dad7cd326bedd8442c162ae23df9d
io_uring: fix nvme's 32b cqes on mixed cq

The nvme uring_cmd only uses 32b CQEs. If the ring uses a mixed CQ, then
we need to make sure we flag the completion as a 32b CQE.

On the other hand, if nvme uring_cmd was using a dedicated 32b CQE, the
posting was missing the extra memcpy because it only applied to bit CQEs
on a mixed CQ.

Fixes: e26dca67fde1943 ("io_uring: add support for IORING_SETUP_CQE_MIXED")
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/ioctl.c
include/linux/io_uring/cmd.h
io_uring/io_uring.h
io_uring/uring_cmd.c