On Tue, Jul 08, 2025 at 09:57:09AM +0200, Konstantin Komarov wrote: > This reverts commit 69505fe98f198ee813898cbcaf6770949636430b. > > Initially, conditional lock acquisition was removed to fix an xfstest bug > that was observed during internal testing. The deadlock reported by syzbot > is resolved by reintroducing conditional acquisition. The xfstest bug no > longer occurs on kernel version 6.16-rc1 during internal testing. I > assume that changes in other modules may have contributed to this. Great to have additional info about xfstest there. > > Fixes: 69505fe98f19 ("fs/ntfs3: Replace inode_trylock with inode_lock") > Reported-by: syzbot+a91fcdbd2698f99db8f4@xxxxxxxxxxxxxxxxxxxxxxxxx Thanks for swapping out the reported-by! > Suggested-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > Signed-off-by: Konstantin Komarov <almaz.alexandrovich@xxxxxxxxxxxxxxxxxxxx> LGTM so: Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > --- > 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 >