]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
btrfs: sysfs: fix direct super block member reads
authorQu Wenruo <wqu@suse.com>
Wed, 18 Dec 2024 06:30:56 +0000 (17:00 +1030)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Jan 2025 09:34:24 +0000 (10:34 +0100)
commitdbebb0cc5139606e9c78ae674e033c35421486fc
tree7cf106e95f882d8410c53a8a6cba3b7dcdf33d2c
parentb87c9b9ba05ba6e8e2ee9ecd29a8c930b35648ed
btrfs: sysfs: fix direct super block member reads

commit fca432e73db2bec0fdbfbf6d98d3ebcd5388a977 upstream.

The following sysfs entries are reading super block member directly,
which can have a different endian and cause wrong values:

- sys/fs/btrfs/<uuid>/nodesize
- sys/fs/btrfs/<uuid>/sectorsize
- sys/fs/btrfs/<uuid>/clone_alignment

Thankfully those values (nodesize and sectorsize) are always aligned
inside the btrfs_super_block, so it won't trigger unaligned read errors,
just endian problems.

Fix them by using the native cached members instead.

Fixes: df93589a1737 ("btrfs: export more from FS_INFO to sysfs")
CC: stable@vger.kernel.org
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/sysfs.c