btrfs: print-tree: parent bytenr must be aligned to sector size

commit c87f318e6f47696b4040b58f460d5c17ea0280e6 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Anastasia Belova 2023-04-26 14:53:23 +03:00 committed by Greg Kroah-Hartman
parent 1e05bf5e80
commit 3e2b4bceaa

View File

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