[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251219171434.46411-1-suchitkarunakaran@gmail.com>
Date: Fri, 19 Dec 2025 22:44:34 +0530
From: Suchit Karunakaran <suchitkarunakaran@...il.com>
To: clm@...com,
dsterba@...e.com,
linux-btrfs@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Suchit Karunakaran <suchitkarunakaran@...il.com>
Subject: [PATCH] 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().
Signed-off-by: Suchit Karunakaran <suchitkarunakaran@...il.com>
---
fs/btrfs/tree-log.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 5831754bb01c..2d9d38b82daa 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -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));
--
2.52.0
Powered by blists - more mailing lists