CVE-2026-72132

NFS: Charge unstable writes by request size, not folio size

State
Published
Severity
Not scored
Published
Aug 15, 2026
Updated
Aug 17, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

NFS: Charge unstable writes by request size, not folio size

nfs_folio_mark_unstable() and nfs_folio_clear_commit() charge and uncharge NR_WRITEBACK/WB_WRITEBACK by folio_nr_pages(folio) once per *request* added to or removed from a commit list. This is correct only when a folio has a single associated request. When pg_test splits a folio into N sub-folio requests (e.g. pNFS flexfiles striping with a stripe unit smaller than the folio size, or plain wsize-limited splitting), each of the N requests independently charges the whole folio's page count, inflating the accounting by a factor of N per folio. With large folios and small stripe units this reaches multiple orders of magnitude: a 2 MiB folio split into 512 4 KiB requests can charge up to 512x its real size, pushing global dirty+writeback accounting past the system's dirty threshold and forcing every buffered writer on the host into the hard-throttle path, including unrelated in-kernel NFS server threads sharing the box.

Charge each request only for the pages it actually covers.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 to before a442c258320b689f13d2205eaeeddf8b0e630288Affected
  • 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 to before 1f646e23372f3444dc5f0bcb5404a49d26756addAffected
  • 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 to before 0ffc032294a29601b1019dba91aa1a930d90df17Affected
  • 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 to before a192b6c149c6ea10cc88869accb78165eb454456Affected
  • 0c493b5cf16e28d761b6e77c7c32aa0e7af70813 to before 27934d02cbeb8a957dd11c985a579e58d30c5270Affected
LinuxLinux
  • 6.3Affected
  • before 6.3Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 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.