PT-2026-90201 · Linux · Linux

CVE-2026-89485

·

Published

2026-09-11

·

Updated

2026-09-11

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
lockd: pin next file across nlm inspect file lock-drop
nlm traverse files() pins the current file with f count++ across a mutex unlock for nlm inspect file(), but nothing pins the saved next pointer. A concurrent nlm release file() can kfree the next file during the unlock window, and the iterator dereferences freed memory on the next loop step.
Pin both current and next before the lock-drop. Advance by swapping the pinned cursors at the end of each iteration so next is always held alive across the unlock.
Always call nlm file release() after dropping the iteration pin, regardless of whether the file matched the predicate. Use nlm file inuse(), which does a live walk of the inode lock list, rather than the cached f locks field, so skipped files that never ran nlm inspect file() are evaluated correctly.
Because every file in a hash bucket is now pinned and released, files skipped by the is failover file predicate that have no locks, blocks, shares, or external references are deleted during traversal. The old code never evaluated skipped files for cleanup. The new behavior is intentional: such files are stale and should not persist in the table.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-89485

Affected Products

Linux