CVE-2026-89710

NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path

State
Published
Severity
Not scored
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path

When the server returns a new layout stateid while a valid one is still held, pnfs_layout_process() calls pnfs_mark_matching_lsegs_return() on the on-stack free_me list and jumps to out_forget. Segments whose reference count drops to zero are unlinked from lo->plh_segs and moved to free_me by mark_lseg_invalid(); for an idle cached segment the layout header holds the only reference, so this happens on the first decrement.

out_forget never drains free_me -- only the success path calls pnfs_free_lseg_list().

Commit 814b84971388 ("pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process()") added the drain; commit 08bd8dbe8882 ("pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()") removed it while switching the destination to lo->plh_return_segs, which is drained elsewhere. Commit fb700ef02676 ("NFSv4.1: Simplify layout return in pnfs_layout_process()") switched the destination back to free_me without restoring the drain.

Restore the pnfs_free_lseg_list() call.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before f52188118d319b47d49ee91a897f6afda4879c59Affected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before ad3e41855325e55623276660ef20fbc3b8ba087fAffected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before a080bb69d30f11738d753a60d1eb733d627c2093Affected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before 7c5b0e813efd9124760d5fd1bfc6b229f03fb1a2Affected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before 36e3f13bf0728f4ce11ee8904cec82a783222f62Affected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before 32ac1b0b7f1cfa0d1a1faf9c72f4154046101070Affected
  • fb700ef026766c95578aafc0db1b208946e7ad4f to before ee5a386cfe60f3f8286de16a9db8e1a08f0bc124Affected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.