Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: fuse-uring: fix data races on ring->ready On weakly-ordered architectures, the store to fiq->ops can be reordered past the store to ring->ready, allowing a CPU that sees ring->ready == true via fuse_uring_ready() to dispatch requests through a stale fiq->ops pointer. Upgrade the store to smp_store_release() and the load in fuse_uring_ready() to smp_load_acquire() so that the preceding WRITE_ONCE(fiq->ops, ...) is visible to any CPU that observes ring->ready == true. Additionally, fuse_uring_do_register() publishes ring->ready with WRITE_ONCE() but the fast-path check reads it with a plain load. This is a marked-vs-unmarked access that KCSAN will flag. Wrap it in READ_ONCE() to mark it without adding unnecessary ordering. Also wrap the fc->ring load in fuse_uring_ready() in READ_ONCE() to prevent the compiler from reloading it between the NULL check and the dereference.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected c2c9af9a0b13261c36909036057a116f2edb5e1a before b156bb9966972122b148acab8bdf415cdb8176a3; affected c2c9af9a0b13261c36909036057a116f2edb5e1a before d01a09b442cb786cd44ccc7c84d57e2856d6737c; affected c2c9af9a0b13261c36909036057a116f2edb5e1a before 46725a0056c884cf58a6897f222892807327d82d |
| Linux / Linux | affected 6.14; unaffected 0 before 6.14; unaffected 6.18.39 through 6.18.*; unaffected 7.1.4 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.