]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
io_uring: fix overflow resched cqe reordering
authorPavel Begunkov <asml.silence@gmail.com>
Sat, 17 May 2025 12:27:37 +0000 (13:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:40:20 +0000 (14:40 +0200)
commitf2138e462c575befaee26714974d03d4d3036062
tree14880e1fa2277e90c20c3b9815ac7fcc5aca5e6b
parent8620be38cf577d4cd6f1ca1102bc4115a8dd4b2f
io_uring: fix overflow resched cqe reordering

[ Upstream commit a7d755ed9ce9738af3db602eb29d32774a180bc7 ]

Leaving the CQ critical section in the middle of a overflow flushing
can cause cqe reordering since the cache cq pointers are reset and any
new cqe emitters that might get called in between are not going to be
forced into io_cqe_cache_refill().

Fixes: eac2ca2d682f9 ("io_uring: check if we need to reschedule during overflow flush")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/90ba817f1a458f091f355f407de1c911d2b93bbf.1747483784.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
io_uring/io_uring.c