f2fs: handle error from f2fs_iget_nowait
In case f2fs_iget_nowait returns error, it results in truncate_hole being called with 'error' value as inode pointer. There is no check in truncate_hole for valid inode, so it could result in crash due "invalid access to memory". Avoid this by handling error condition properly. Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
@@ -228,6 +228,9 @@ static void check_index_in_prev_nodes(struct f2fs_sb_info *sbi,
|
|||||||
|
|
||||||
/* Deallocate previous index in the node page */
|
/* Deallocate previous index in the node page */
|
||||||
inode = f2fs_iget_nowait(sbi->sb, ino);
|
inode = f2fs_iget_nowait(sbi->sb, ino);
|
||||||
|
if (IS_ERR(inode))
|
||||||
|
return;
|
||||||
|
|
||||||
truncate_hole(inode, bidx, bidx + 1);
|
truncate_hole(inode, bidx, bidx + 1);
|
||||||
iput(inode);
|
iput(inode);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user