Skip to content

Commit 77900c4

Browse files
chaseyuJaegeuk Kim
authored andcommitted
f2fs: fix to do sanity check in is_alive()
In fuzzed image, SSA table may indicate that a data block belongs to invalid node, which node ID is out-of-range (0, 1, 2 or max_nid), in order to avoid migrating inconsistent data in such corrupted image, let's do sanity check anyway before data block migration. Cc: [email protected] Signed-off-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent f6db430 commit 77900c4

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

fs/f2fs/gc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,9 @@ static bool is_alive(struct f2fs_sb_info *sbi, struct f2fs_summary *sum,
10261026
set_sbi_flag(sbi, SBI_NEED_FSCK);
10271027
}
10281028

1029+
if (f2fs_check_nid_range(sbi, dni->ino))
1030+
return false;
1031+
10291032
*nofs = ofs_of_node(node_page);
10301033
source_blkaddr = data_blkaddr(NULL, node_page, ofs_in_node);
10311034
f2fs_put_page(node_page, 1);

0 commit comments

Comments
 (0)