mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-12 01:20:14 +00:00
btrfs: fix NULL pointer dereference in do_abort_log_replay()
Coverity reported a NULL pointer dereference issue (CID 1666756) in
do_abort_log_replay(). When btrfs_alloc_path() fails in
replay_one_buffer(), wc->subvol_path is NULL, but btrfs_abort_log_replay()
calls do_abort_log_replay() which unconditionally dereferences
wc->subvol_path when attempting to print debug information. Fix this by
adding a NULL check before dereferencing wc->subvol_path in
do_abort_log_replay().
Fixes: 2753e4917624 ("btrfs: dump detailed info and specific messages on log replay failures")
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Suchit Karunakaran <suchitkarunakaran@gmail.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
cefd809251
commit
530e3d4af5
@ -190,7 +190,7 @@ static void do_abort_log_replay(struct walk_control *wc, const char *function,
|
||||
|
||||
btrfs_abort_transaction(wc->trans, error);
|
||||
|
||||
if (wc->subvol_path->nodes[0]) {
|
||||
if (wc->subvol_path && wc->subvol_path->nodes[0]) {
|
||||
btrfs_crit(fs_info,
|
||||
"subvolume (root %llu) leaf currently being processed:",
|
||||
btrfs_root_id(wc->root));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user