summaryrefslogtreecommitdiff
path: root/super-recover.c
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2018-02-08 08:59:40 +0800
committerDavid Sterba <dsterba@suse.com>2018-03-30 22:15:54 +0200
commit2615aca92c628457fe76131a5f810720349dc4c5 (patch)
treee9721cd7e3a23903e625219a41b3df6975c01896 /super-recover.c
parente875cd98e38f9fdc7f812a7575a3a2afd6b6094b (diff)
btrfs-progs: ctree: Add extra level check for read_node_slot()
Strangely, we have level check in btrfs_print_tree() while we don't have the same check in read_node_slot(). That's to say, for the following corruption, btrfs_search_slot() or btrfs_next_leaf() can return invalid leaf: Parent eb: node XXXXXX level 1 ^^^^^^^ Child should be leaf (level 0) ... key (XXX XXX XXX) block YYYYYY Child eb: leaf YYYYYY level 1 ^^^^^^^ Something went wrong now And for the corrupted leaf returned, later caller can be screwed up easily. Reported-by: Ralph Gauges <ralphgauges@googlemail.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'super-recover.c')
0 files changed, 0 insertions, 0 deletions