Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2026-64600

xfs: resample the data fork mapping after cycling ILOCK

Description

In the Linux kernel, the following vulnerability has been resolved: xfs: resample the data fork mapping after cycling ILOCK xfs_reflink_fill_{cow_hole,delalloc} are both presented with an inode, a data fork mapping, and a cow fork mapping. Unfortunately, these two helpers cycle the ILOCK to grab a transaction, which means that the mappings are stale as soon as we reacquire the ILOCK. Currently we refresh the cow fork mapping by re-calling xfs_find_trim_cow_extent, but we don't refresh the data fork mapping beforehand, which means that the xfs_bmap_trim_cow in that function queries the refcount btree about the wrong physical blocks and returns an inaccurate value in *shared. If *shared is now false, the directio write proceeds with a stale data fork mapping. Fix this by querying the data fork mapping if the sequence counter changes across the ILOCK cycle.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < dc11be133efca5fe3a2fb02b016dee825cc12f18affected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < b8c9aa832b52680ee40d6cab0efb081f9a69df05affected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < 50f0012da1040f69a4e788cd9aed587c9a04983faffected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < e705d81a7193dd19e69b8e2bad4696d78a4ea075affected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < 206c09b04dc5469c7ff14d8aceff2d47c88078d9affected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < 44f891bc088958399eec27f7604928694aa35581affected
  • 3c68d44a2b49a0ac9165faa9c191e1e618c8a8d5 to < 2f4acd0fcd862e22eab45690ec2c08c80b6ef2e7affected

Linux Linux

Default version status: affected

  • 4.11affected
  • 0 to < 4.11unaffected
  • 5.15.212 to ≤ 5.15.*unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References