]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
btrfs: fix iteration of extrefs during log replay
authorFilipe Manana <fdmanana@suse.com>
Mon, 23 Jun 2025 11:11:58 +0000 (12:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:03:07 +0000 (16:03 +0200)
commit2d11d274e2e1d7c79e2ca8461ce3ff3a95c11171
treef5c30e4bf5e5dc6ce56a4a8045f20dde123495f3
parent79b025ebc1c0a4394b558f913056c0b270627f25
btrfs: fix iteration of extrefs during log replay

[ Upstream commit 54a7081ed168b72a8a2d6ef4ba3a1259705a2926 ]

At __inode_add_ref() when processing extrefs, if we jump into the next
label we have an undefined value of victim_name.len, since we haven't
initialized it before we did the goto. This results in an invalid memory
access in the next iteration of the loop since victim_name.len was not
initialized to the length of the name of the current extref.

Fix this by initializing victim_name.len with the current extref's name
length.

Fixes: e43eec81c516 ("btrfs: use struct qstr instead of name and namelen pairs")
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/btrfs/tree-log.c