This reverts commit 69505fe98f198ee813898cbcaf6770949636430b. Make lock acquiring conditional to avoid the deadlock. Fixes: 69505fe98f19 ("fs/ntfs3: Replace inode_trylock with inode_lock") Reported-by: syzbot+a5d1c9dfa91705cd2f6d@xxxxxxxxxxxxxxxxxxxxxxxxx Suggested-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@xxxxxxxxxxxxxxxxxxxx> --- fs/ntfs3/file.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c index 65fb27d1e17c..2e321b84a1ed 100644 --- a/fs/ntfs3/file.c +++ b/fs/ntfs3/file.c @@ -322,7 +322,10 @@ static int ntfs_file_mmap(struct file *file, struct vm_area_struct *vma) } if (ni->i_valid < to) { - inode_lock(inode); + if (!inode_trylock(inode)) { + err = -EAGAIN; + goto out; + } err = ntfs_extend_initialized_size(file, ni, ni->i_valid, to); inode_unlock(inode); -- 2.43.0