PT-2026-85733 · Linux · Linux
CVE-2026-80855
·
Publicado
2026-09-04
·
Atualizado
2026-09-04
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
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.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Linux