OSDN Git Service

io_uring/msg_ring: fix missing lock on overflow for IOPOLL
authorJens Axboe <axboe@kernel.dk>
Thu, 19 Jan 2023 16:04:40 +0000 (09:04 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 19 Jan 2023 17:43:59 +0000 (10:43 -0700)
commite12d7a46f65ae4b7d58a5e0c1cbfa825cf8d830d
treef00d8e48b6566b62f73360273b69960f6f159705
parent423d5081d0451faa59a707e57373801da5b40141
io_uring/msg_ring: fix missing lock on overflow for IOPOLL

If the target ring is configured with IOPOLL, then we always need to hold
the target ring uring_lock before posting CQEs. We could just grab it
unconditionally, but since we don't expect many target rings to be of this
type, make grabbing the uring_lock conditional on the ring type.

Link: https://lore.kernel.org/io-uring/Y8krlYa52%2F0YGqkg@ip-172-31-85-199.ec2.internal/
Reported-by: Xingyuan Mo <hdthky0@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/msg_ring.c