btrfs: tree-checker: add missing return after error in root_item
authorDaniel Xu <dxu@dxuuu.xyz>
Fri, 13 Nov 2020 01:55:06 +0000 (17:55 -0800)
committerDavid Sterba <dsterba@suse.com>
Fri, 13 Nov 2020 21:18:10 +0000 (22:18 +0100)
There's a missing return statement after an error is found in the
root_item, this can cause further problems when a crafted image triggers
the error.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=210181
Fixes: 259ee7754b67 ("btrfs: tree-checker: Add ROOT_ITEM check")
CC: stable@vger.kernel.org # 5.4+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-checker.c

index 8784b74f5232e797ceacede9c31bf19e64c9247d..6cefabd27209a96b545d165105dbe3017c37b638 100644 (file)
@@ -1068,6 +1068,7 @@ static int check_root_item(struct extent_buffer *leaf, struct btrfs_key *key,
                            "invalid root item size, have %u expect %zu or %u",
                            btrfs_item_size_nr(leaf, slot), sizeof(ri),
                            btrfs_legacy_root_item_size());
+               return -EUCLEAN;
        }
 
        /*