
On 2023/7/26 14:59, Dan Carpenter wrote:
If btrfs_read_fs_root() fails with -ENOENT, then we go to the next entry. Fine. But if it fails for a different reason then we need to clean up and return an error code. In the current code it doesn't clean up but instead dereferences "root" and crashes.
Signed-off-by: Dan Carpenter dan.carpenter@linaro.org
Reviewed-by: Qu Wenruo wqu@suse.com
I didn't CC the btrfs mailing list. Perhaps, I should have?
This patch is fine. The function is specific to U-boot, and not utilized by kernel/btrfs-progs.
Thanks, Qu
fs/btrfs/subvolume.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/btrfs/subvolume.c b/fs/btrfs/subvolume.c index d446e7a2c418..68ca7e48e48e 100644 --- a/fs/btrfs/subvolume.c +++ b/fs/btrfs/subvolume.c @@ -199,6 +199,7 @@ static int list_subvolums(struct btrfs_fs_info *fs_info) ret = PTR_ERR(root); if (ret == -ENOENT) goto next;
} ret = list_one_subvol(root, result); if (ret < 0)goto out;