CVE-2026-80856
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.
How to fix
- Linux Linux92faaee1b108c6e4b07730d20896a6593a85f675, 8f14906ce9103ab8f2f1ebda45935a0d61b9d763, 03cfeeb135428fa83f0791d3f8f94d9298cae695, 92588d187ba4697a322e7aefe5d9e538a87d1cd2, ea9fea370b8de4ffd72e0ef89550415c15637787, 1758730d9eaa3c06cf415c3446d9f6eed9ed3eed, dd278d954c0e96a9cbd3cc491e07b8267d25f8d5, e8457ebfd77a46e8d1210e8888ea914ad064558e, 9afeca0d569c9fc89d758fe7a9339d1e8afb1546 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 92faaee1b108c6e4b07730d20896a6593a85f675, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 8f14906ce9103ab8f2f1ebda45935a0d61b9d763, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 03cfeeb135428fa83f0791d3f8f94d9298cae695, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 92588d187ba4697a322e7aefe5d9e538a87d1cd2, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < ea9fea370b8de4ffd72e0ef89550415c15637787, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 1758730d9eaa3c06cf415c3446d9f6eed9ed3eed, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < dd278d954c0e96a9cbd3cc491e07b8267d25f8d5, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < e8457ebfd77a46e8d1210e8888ea914ad064558e, 6ae330cad6ef22ab8347ea9e0707dc56a7c7363f ≤ v < 9afeca0d569c9fc89d758fe7a9339d1e8afb1546, 5.10 | 92faaee1b108c6e4b07730d20896a6593a85f675, 8f14906ce9103ab8f2f1ebda45935a0d61b9d763, 03cfeeb135428fa83f0791d3f8f94d9298cae695, 92588d187ba4697a322e7aefe5d9e538a87d1cd2, ea9fea370b8de4ffd72e0ef89550415c15637787, 1758730d9eaa3c06cf415c3446d9f6eed9ed3eed, dd278d954c0e96a9cbd3cc491e07b8267d25f8d5, e8457ebfd77a46e8d1210e8888ea914ad064558e, 9afeca0d569c9fc89d758fe7a9339d1e8afb1546 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.