Executive brief
The Linux kernel's FAT filesystem implementation has a memory leak in the code that rebuilds parent directory inodes during NFS export operations. When the nostale_ro NFS export path is used, a buffer head resource is not properly released after use, potentially causing memory exhaustion over time on systems using FAT-formatted storage accessed via NFS.
Technical details
This is a resource leak vulnerability in the FAT filesystem's NFS export support code (fs/fat/nfs.c). The fat_rebuild_parent() function calls fat_scan_logstart() to locate a directory entry, which leaves a reference to a buffer head (sinfo.bh) that must be released by the caller. However, after consuming the directory entry data via fat_build_inode(), the function failed to call brelse() to release this buffer head. This resource leak occurs in the nostale_ro NFS export rebuild path and can accumulate over time. The fix is a simple 3-line addition to properly release the buffer head after building the inode. Patches are available across the full Linux kernel stable tree.
Affected products
- Linux Linux kernel multiple versions (see stable tree references); fixed in multiple stable branches
Timeline
- 2026-09-17: disclosed
- 2026-07-15: patched: Fix committed upstream
- 2026-09-14: other: Patch merged to stable tree