Description
In the Linux kernel, the following vulnerability has been resolved: 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.
Product status
79cfe9e59c2a12c3b3faeeefe38d23f3d8030972 (git) before bdb7d2ec2e31c46c45d1f32667dfa8216a72705e
79cfe9e59c2a12c3b3faeeefe38d23f3d8030972 (git) before d871198ee431d90f5308d53998c1ba1d5db5619a
6.13
Any version before 6.13
6.14.8 (semver)
6.15 (original_commit_for_fix)
References
git.kernel.org/...c/bdb7d2ec2e31c46c45d1f32667dfa8216a72705e
git.kernel.org/...c/d871198ee431d90f5308d53998c1ba1d5db5619a
project-zero.issues.chromium.org/issues/417522668