CVE-2026-80530: xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN

Published Aug 26, 2026
·
Updated

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

xfs: fix exchange-range reflink flag clearing issue with INO1WRITTEN

When exchanging two full-file ranges, xmicanexchangereflinkflags() can move the reflink inode flag from the file that currently has it to the other file, as long as exactly one side is marked. This assumes that the file contents, and therefore all shared extents, are exchanged.

That assumption is not true when XFSEXCHMAPSINO1WRITTEN is set. xfsexchmapscanskipmapping() can skip hole and unwritten mappings from file1, so an exchange can complete without moving every mapping that the earlier flag-swap decision accounted for. In that case the post-operation cleanup can clear the reflink flag from an inode that still owns shared written extents. Later writes then take the non-reflink write path and may update blocks that should still have been protected by CoW, which shows up as data corruption between reflink-related files.

Fix this by disabling the reflink flag exchange whenever XFSEXCHMAPSINO1WRITTEN is requested. The contents exchange can still proceed; the conservative outcome is that both inodes keep the reflink flag. The regular reflink flag cleanup path can drop the extra flag later once the inode no longer has shared extents.

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 26, 2026
CVE Published
via MITRE·02:37 PM
Data Sourced
via MITRE·02:37 PM
Description
Data Sourced
via NVD·03:17 PM
Description

Frequently Asked Questions

1

What conditions are required for data corruption to occur?

The issue requires an XFS full-file range exchange in which exactly one inode has the reflink flag and the operation is requested with XFS_EXCHMAPS_INO1_WRITTEN. Hole or unwritten mappings in the first file can then be skipped, leaving shared written extents on an inode whose reflink flag was cleared.

2

What is the impact after a vulnerable exchange completes?

Later writes to the inode that incorrectly lost its reflink flag can take the non-reflink write path instead of copy-on-write. Those writes can modify blocks still shared with reflink-related files, causing data corruption between the files.

3

What is the mitigation if the fix cannot be deployed immediately?

Avoid exchange-range operations that request XFS_EXCHMAPS_INO1_WRITTEN when operating on full-file ranges with reflink files. The fix disables reflink-flag exchange for that request while allowing the content exchange to proceed, conservatively retaining the reflink flag on both inodes.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203