CVE-2026-89681
Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: fix layout fence worker double-reference race The workqueue core clears WORK_STRUCT_PENDING before the callback is invoked, so delayed_work_pending() in lm_breaker_timedout() can return false while the fence worker is already running. This lets the breaker take a duplicate sc_count reference and schedule a new worker that coalesces with the in-progress one. The extra reference is never put, leaking the layout stateid. Replace the racy delayed_work_pending() check with an ls_fence_inflight boolean set atomically with refcount_inc_not_zero() under ls_lock, and cleared under ls_lock before the final nfs4_put_stid() on the dispose path; the retry path intentionally retains it. Remove the self-rearm mod_delayed_work() at the top of the worker.
How to fix
- Linux Linuxa278d361e0e8f242211891193d56483a7a9f47a8, 8580571227451384399b3fa53fcde19848c48e5a or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | f52792f484ba2316853736856dde19b7e7458861 ≤ v < a278d361e0e8f242211891193d56483a7a9f47a8, f52792f484ba2316853736856dde19b7e7458861 ≤ v < 8580571227451384399b3fa53fcde19848c48e5a, 7.1 | a278d361e0e8f242211891193d56483a7a9f47a8, 8580571227451384399b3fa53fcde19848c48e5a |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.