PT-2026-85733 · Linux · Linux

CVE-2026-80855

·

Published

2026-09-04

·

Updated

2026-09-04

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
fuse: fix invalidate lock leak on open O TRUNC DAX failure
fuse open() takes filemap invalidate lock() for a DAX truncate (dax truncate = true) and releases it before the out inode unlock label. But when fuse dax break layouts() fails, the goto out inode unlock skips the unlock and leaks the rwsem, so any later fault or truncate on the file stalls on the stale lock.
fuse dax break layouts() can fail with -ERESTARTSYS when a signal interrupts the wait for busy DAX pages to drain:
open("file", O RDWR | O TRUNC) └─ fuse open() ├─ filemap invalidate lock() # dax truncate └─ fuse dax break layouts() └─ dax break layout() └─ wait page idle() # TASK INTERRUPTIBLE └─ fuse wait dax page() # unlock, schedule, re-lock └─ signal → -ERESTARTSYS goto out inode unlock # <- lock leaked
Fix this by moving filemap invalidate unlock() below the label so that all error paths release the lock, and rename the label to out unlock as it now covers more than just the inode lock.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-80855

Affected Products

Linux