btrfs: print-tree: parent bytenr must be aligned to sector size
authorAnastasia Belova <abelova@astralinux.ru>
Wed, 26 Apr 2023 11:53:23 +0000 (14:53 +0300)
committerDavid Sterba <dsterba@suse.com>
Tue, 9 May 2023 20:07:40 +0000 (22:07 +0200)
Check nodesize to sectorsize in alignment check in print_extent_item.
The comment states that and this is correct, similar check is done
elsewhere in the functions.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: ea57788eb76d ("btrfs: require only sector size alignment for parent eb bytenr")
CC: stable@vger.kernel.org # 4.14+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/print-tree.c

index b93c962..497b9db 100644 (file)
@@ -151,10 +151,10 @@ static void print_extent_item(struct extent_buffer *eb, int slot, int type)
                        pr_cont("shared data backref parent %llu count %u\n",
                               offset, btrfs_shared_data_ref_count(eb, sref));
                        /*
-                        * offset is supposed to be a tree block which
-                        * must be aligned to nodesize.
+                        * Offset is supposed to be a tree block which must be
+                        * aligned to sectorsize.
                         */
-                       if (!IS_ALIGNED(offset, eb->fs_info->nodesize))
+                       if (!IS_ALIGNED(offset, eb->fs_info->sectorsize))
                                pr_info(
                        "\t\t\t(parent %llu not aligned to sectorsize %u)\n",
                                     offset, eb->fs_info->sectorsize);