summaryrefslogtreecommitdiff
path: root/rust/zerocopy/git@git.tavy.me:linux-stable.git
diff options
context:
space:
mode:
authorHyunchul Lee <hyc.lee@gmail.com>2026-07-02 14:28:16 +0900
committerNamjae Jeon <linkinjeon@kernel.org>2026-07-06 20:26:05 +0900
commit77dc384207d5fa63ba97c3bf3285fe1215a1cbf6 (patch)
treeaaf59efcd29fec1f20e82579740c55bc3055ad14 /rust/zerocopy/git@git.tavy.me:linux-stable.git
parentf72df3a4c33b64de3418ec74d1ad4f028e09d161 (diff)
ntfs: avoid self-deadlock during inode eviction
An attribute-list update performed while allocating clusters can drop the last reference to the temporary attribute inode. Evicting that inode drops its reference to the base inode and can invoke ntfs_drop_big_inode() for the base inode from within the base inode's own writeback path. If the base inode is unlinked, ntfs_drop_big_inode() calls truncate_setsize(), which waits for the inode's folio writeback to complete. The same writeback worker is responsible for completing that writeback, so it waits for itself indefinitely. Prevent this self-deadlock by grabbing a reference to the base inode at the beginning of ntfs_writepages() and releasing it at the end of the function. This defers eviction until all bios have been submitted, allowing the wait for folio writeback to complete safely. Fixes: b041ca562526 ("ntfs: update iomap and address space operations") Cc: stable@vger.kernel.org Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'rust/zerocopy/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions