Re: [syzbot] [syzbot] [btrfs?] general protection fault in btrfs_root_node
From: syzbot
Date: Tue Sep 03 2024 - 21:39:07 EST
For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx.
***
Subject: [syzbot] [btrfs?] general protection fault in btrfs_root_node
Author: ghanshyam1898@xxxxxxxxx
Added a check for the nullability of the extent_root variable.
I am not sure what error code I should return when the variable is
null. Can someone help me with this? Thank you very much.
#syz test
diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
index 9522a8b79d22..e613420cb079 100644
--- a/fs/btrfs/ref-verify.c
+++ b/fs/btrfs/ref-verify.c
@@ -1002,6 +1002,9 @@ int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
return -ENOMEM;
extent_root = btrfs_extent_root(fs_info, 0);
+ if (!extent_root)
+ return -EBADF;
+
eb = btrfs_read_lock_root_node(extent_root);
level = btrfs_header_level(eb);
path->nodes[level] = eb;