]> www.infradead.org Git - users/jedix/linux-maple.git/commit
io_uring/fdinfo: grab ctx->uring_lock around io_uring_show_fdinfo()
authorJens Axboe <axboe@kernel.dk>
Tue, 13 May 2025 21:02:23 +0000 (15:02 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 14 May 2025 13:15:28 +0000 (07:15 -0600)
commitd871198ee431d90f5308d53998c1ba1d5db5619a
treef52bb75ede084554ec2f1138813da471ca3abd72
parentf446c6311e86618a1f81eb576b56a6266307238f
io_uring/fdinfo: grab ctx->uring_lock around io_uring_show_fdinfo()

Not everything requires locking in there, which is why the 'has_lock'
variable exists. But enough does that it's a bit unwieldy to manage.
Wrap the whole thing in a ->uring_lock trylock, and just return
with no output if we fail to grab it. The existing trylock() will
already have greatly diminished utility/output for the failure case.

This fixes an issue with reading the SQE fields, if the ring is being
actively resized at the same time.

Reported-by: Jann Horn <jannh@google.com>
Fixes: 79cfe9e59c2a ("io_uring/register: add IORING_REGISTER_RESIZE_RINGS")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/fdinfo.c