GPU VulnDB

Database/Control plane, storage & DevOps

Linux nfsd: localio cmpxchg retry runs outside RCU, bumping a refcount on recycled memory

UnscoredCVE-2026-89670Control plane, storage & DevOpscurated

Impact

nfsd_file objects are freed via call_rcu into a slab created without SLAB_TYPESAFE_BY_RCU, so the backing page becomes reclaimable once the grace period elapses. The retry block in nfsd_open_local_fh() loads the pointer with cmpxchg and calls nfsd_file_get() without rcu_read_lock, and the sole caller drops the lock before entering. If nfsd_file_put_local() drops the last reference in parallel, the refcount_inc_not_zero can succeed against a recycled object and the caller then dereferences nf_net and nf_file out of freed memory. This affects hosts running the NFS client and server on the same node via the localio shortcut - a common pattern for converged storage nodes - and the failure is kernel memory corruption on that node.

Who can reach it

Local: requires NFS localio in use (client and server on the same host) and concurrent open/close activity on the same file handle. No remote path is described in the record.

What to do

Upgrade to a stable kernel with the referenced commits and reboot the affected node. Hosts that do not use NFS localio (client and server on different machines) do not run this code. The record gives commits only, no fixed release numbers.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.