HomeDefectsLIN1023-34701
Fixed

LIN1023-34701 : Security Advisory - linux - CVE-2026-89667

Created: Oct 7, 2026    Updated: Oct 8, 2026
Resolved Date: Oct 7, 2026
Found In Version: 10.23.30.2
Fix Version: 10.23.30.8
Severity: Standard
Applicable for: Wind River Linux LTS 23
Component/s: Kernel

Description

In the Linux kernel, the following vulnerability has been resolved:  nfsd: close shrinker/GC/fsnotify vs per-net shutdown race in filecache  The shrinker, GC worker, and fsnotify/lease callbacks can unhash an nfsd_file from the rhashtable and then call nfsd_file_dispose_list_delayed() to move it to the per-net dispose list. If nfsd_file_cache_shutdown_net() runs concurrently, its rhashtable walk misses the already-unhashed file, and its drain of the per-net dispose list can run before the file has been queued.  The file then sits on the per-net list with no thread to drain it, leaking both the file and its associated state.  The GC worker and shrinker already hold nfsd_gc_lock while walking the LRU, but in the original code they release it before calling nfsd_file_dispose_list_delayed().  The fsnotify/lease path (nfsd_file_close_inode) has no synchronization at all.  Fix this by:    1. Widening nfsd_gc_lock in both nfsd_file_gc() and nfsd_file_lru_scan()      to cover the nfsd_file_dispose_list_delayed() call.    2. Wrapping nfsd_file_close_inode() in nfsd_gc_lock so that all three      callers of nfsd_file_dispose_list_delayed() hold the lock.    3. Adding a spin_lock/unlock(nfsd_gc_lock) barrier in      nfsd_file_cache_shutdown_net() after the purge, so that any      in-progress disposal has fully completed before the per-net list      is drained.  All operations inside the lock are non-sleeping (rhashtable lookups, atomic bit/refcount ops, list moves, svc_wake_up), so the spinlock is appropriate.
Data source: kernel.org (416baaa9-dc9f-4396-8d5f-8c081fb06d67)