CVE-2026-80856

fuse: fix invalidate lock leak on setattr writeback failure

N/A
Published: September 4, 2026 at 03:55 PM UTC
Updated: October 19, 2026 at 09:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: fuse: fix invalidate lock leak on setattr writeback failure fuse_do_setattr() takes filemap_invalidate_lock() for a DAX truncate (fault_blocked = true) and releases it at the out:/error: labels. But when a writeback flush is also needed, a write_inode_now() failure returns directly and leaks the lock, so any later fault or truncate on the file stalls on the stale rwsem. For example, truncate(2) on a setuid file reaches fuse_do_setattr() with both ATTR_SIZE and ATTR_MODE set: truncate(2) └─ do_truncate() ├─ dentry_needs_remove_privs() # S_ISUID └─ notify_change() # KILL_SUID -> ATTR_MODE └─ fuse_setattr() # no killpriv: │ # ia_valid |= ATTR_MODE └─ fuse_do_setattr() ├─ filemap_invalidate_lock() # IS_DAX && is_truncate └─ write_inode_now() # is_wb && ATTR_MODE └─ if (err) # e.g. daemon -> -EIO return err # <- lock leaked Fix this by adding an unlock label that releases the lock before returning the error, and use it for the fuse_dax_break_layouts() failure path as well.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.106ae330cad6ef22ab8347ea9e0707dc56a7c7363f
Vendor states this is fixed in 03cfeeb135428fa83f0791d3f8f94d9298cae695 (fixed)
Vendor states this is fixed in 1758730d9eaa3c06cf415c3446d9f6eed9ed3eed (fixed)
Vendor states this is fixed in 8f14906ce9103ab8f2f1ebda45935a0d61b9d763 (fixed)
Vendor states this is fixed in 92588d187ba4697a322e7aefe5d9e538a87d1cd2 (fixed)
Vendor states this is fixed in 9afeca0d569c9fc89d758fe7a9339d1e8afb1546 (fixed)
Vendor states this is fixed in dd278d954c0e96a9cbd3cc491e07b8267d25f8d5 (fixed)
Vendor states this is fixed in e8457ebfd77a46e8d1210e8888ea914ad064558e (fixed)
Vendor states this is fixed in ea9fea370b8de4ffd72e0ef89550415c15637787 (fixed)
Vendor states this is fixed in 5.10 (unaffected)
Vendor states this is fixed in 5.15.220 (unaffected)
Vendor states this is fixed in 6.1.187 (unaffected)
Vendor states this is fixed in 6.12.108 (unaffected)
Vendor states this is fixed in 6.18.49 (unaffected)
Vendor states this is fixed in 6.6.156 (unaffected)
Vendor states this is fixed in 7.1.13 (unaffected)
Vendor states this is fixed in 7.2.3 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card