CVE-2026-89709
In the Linux kernel, the following vulnerability has been resolved: lockd, nfsd: RCU-protect nlmsvc_ops dispatch nlmsvc_ops is published by nfsd_lockd_init() a…
Impact
In the Linux kernel, the following vulnerability has been resolved: lockd, nfsd: RCU-protect nlmsvc_ops dispatch nlmsvc_ops is published by nfsd_lockd_init() and cleared by nfsd_lockd_shutdown() with plain stores, while lockd dereferences it unguarded from dispatch sites in fs/lockd/svcsubs.c. The pointer targets nfsd's .rodata and the fopen/fclose callbacks live in nfsd's .text, so a stale load after rmmod nfsd results in either a NULL deref or a module-text use-after-free. Declare nlmsvc_ops as __rcu, publish via rcu_assign_pointer(), clear via RCU_INIT_POINTER() + synchronize_rcu(). Add a struct module *owner field to nlmsvc_binding and pin the module across indirect calls with try_module_get/module_put. When the binding is torn down, fall back to fput() to avoid leaking struct file references.
Affected packages
This record carries no package version data, so it cannot be matched against a dependency list automatically. Read the advisory and compare your version by hand.
References
- NVD record
- CVE.org record
- https://git.kernel.org/stable/c/3c461a1820088fb5889d73a6522369bde45527a9
- https://git.kernel.org/stable/c/43943532c105ea8fe26039a1347cfda4ac0fcadc
- https://git.kernel.org/stable/c/641e5e20852359b8c31149be4598884e30652f60
- https://git.kernel.org/stable/c/6e7495972039f212e336e552b58cac9dd54611c3
- https://git.kernel.org/stable/c/836ce2b99bcce6d68c58edd04efbc5cd1fd581af
- https://git.kernel.org/stable/c/cc2f0d79b21be69b891cbd1899daf2a1fdf9df87