Home

Description

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: fix deadlock in ni_read_folio_cmpr Syzbot reported a task hung in ni_readpage_cmpr (now ni_read_folio_cmpr). This is caused by a lock inversion deadlock involving the inode mutex (ni_lock) and page locks. Scenario: 1. Task A enters ntfs_read_folio() for page X. It acquires ni_lock. 2. Task A calls ni_read_folio_cmpr(), which attempts to lock all pages in the compressed frame (including page Y). 3. Concurrently, Task B (e.g., via readahead) has locked page Y and calls ntfs_read_folio(). 4. Task B waits for ni_lock (held by A). 5. Task A waits for page Y lock (held by B). -> DEADLOCK. The fix is to restructure locking: do not take ni_lock in ntfs_read_folio(). Instead, acquire ni_lock inside ni_read_folio_cmpr() ONLY AFTER all required page locks for the frame have been successfully acquired. This restores the correct lock ordering (Page Lock -> ni_lock) consistent with VFS. [almaz.alexandrovich@paragon-software.com: ni_readpage_cmpr was renamed to ni_read_folio_cmpr]

PUBLISHED Reserved 2026-05-08 | Published 2026-05-27 | Updated 2026-05-27 | Assigner Linux

Product status

Default status
unaffected

f35590ee26f5722bfe12cdff14396c4c057a8f74 (git) before cfe246b318106e1691bd6c9466c739e8559d25c2
affected

f35590ee26f5722bfe12cdff14396c4c057a8f74 (git) before e37a75bb866c29da954b51d0dd7670406246d9ee
affected

Default status
affected

6.19
affected

Any version before 6.19
unaffected

6.19.4 (semver)
unaffected

7.0 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/cfe246b318106e1691bd6c9466c739e8559d25c2

git.kernel.org/...c/e37a75bb866c29da954b51d0dd7670406246d9ee

cve.org (CVE-2025-71309)

nvd.nist.gov (CVE-2025-71309)

Download JSON