btrfs: zoned: fix missing RCU locking in error message when loading zone info
authorFilipe Manana <fdmanana@suse.com>
Wed, 2 Oct 2024 14:02:56 +0000 (15:02 +0100)
committerDavid Sterba <dsterba@suse.com>
Wed, 9 Oct 2024 11:23:51 +0000 (13:23 +0200)
commitfe4cd7ed128fe82ab9fe4f9fc8a73d4467699787
tree1553cbd94f8dc9591ebd237e8b7fca12408b4fd8
parent6ef8fbce010421bf742b12b8f8f2b2d2ff154845
btrfs: zoned: fix missing RCU locking in error message when loading zone info

At btrfs_load_zone_info() we have an error path that is dereferencing
the name of a device which is a RCU string but we are not holding a RCU
read lock, which is incorrect.

Fix this by using btrfs_err_in_rcu() instead of btrfs_err().

The problem is there since commit 08e11a3db098 ("btrfs: zoned: load zone's
allocation offset"), back then at btrfs_load_block_group_zone_info() but
then later on that code was factored out into the helper
btrfs_load_zone_info() by commit 09a46725cc84 ("btrfs: zoned: factor out
per-zone logic from btrfs_load_block_group_zone_info").

Fixes: 08e11a3db098 ("btrfs: zoned: load zone's allocation offset")
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/zoned.c