Skip to content

Commit 88da638

Browse files
Ethan Tidmore1Naim
authored andcommitted
ntfs: Fix possible deadlock
In the error path for ntfs_attr_map_whole_runlist() the lock is not released. Add release for lock. Detected by Smatch: fs/ntfs/attrib.c:5197 ntfs_non_resident_attr_collapse_range() warn: inconsistent returns '&ni->runlist.lock'. Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
1 parent f98cef4 commit 88da638

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

fs/ntfs/attrib.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5124,8 +5124,10 @@ int ntfs_non_resident_attr_collapse_range(struct ntfs_inode *ni, s64 start_vcn,
51245124

51255125
down_write(&ni->runlist.lock);
51265126
ret = ntfs_attr_map_whole_runlist(ni);
5127-
if (ret)
5127+
if (ret) {
5128+
up_write(&ni->runlist.lock);
51285129
return ret;
5130+
}
51295131

51305132
len = min(len, end_vcn - start_vcn);
51315133
for (rl = ni->runlist.rl, dst_cnt = 0; rl && rl->length; rl++)

0 commit comments

Comments
 (0)