GPU VulnDB

Database/Control plane, storage & DevOps

Linux kernel nfsd: failed cross-mount leaks mount and dentry references on the NFS server

CVSS 7.5CVE-2026-89707Control plane, storage & DevOpscurated

Impact

nfsd_cross_mnt() takes mntget()/dget() before follow_down() and, uniquely among its exit arms, does not path_put() when follow_down() returns an error. Each failed cross-mount inflates mnt_count and d_count permanently, which blocks umount of the underlying filesystem and pins dentries against the shrinker. Repeated over time on a busy export this is a slow resource exhaustion and an operational trap: the storage head cannot unmount a filesystem for maintenance and eventually needs a reboot. Reachable through ordinary lookup and NFSv4 READDIR paths, so no unusual client behaviour is needed.

Who can reach it

Any authenticated NFS client that can trigger a cross-mount lookup on the export, including via READDIR. Remote, network-adjacent to the storage service.

What to do

Update the NFS server kernel to a build containing the path_put() fix (stable commits 194316df8126, 2bc4343308d8, 467d56fd3ff5, 6cba08dc1922) and reboot the node. Leaked references cannot be reclaimed without a reboot, so a server already showing stuck umounts needs one regardless of when the patch lands.

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.