All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fs: btrfs: Prevent error pointer dereference in list_subvolums()
@ 2023-07-26  6:59 Dan Carpenter
  2023-08-01  9:05 ` Marek Behún
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dan Carpenter @ 2023-07-26  6:59 UTC (permalink / raw)
  To: Marek Behún; +Cc: Qu Wenruo, u-boot

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>
---
I didn't CC the btrfs mailing list.  Perhaps, I should have?

 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;
+			goto out;
 		}
 		ret = list_one_subvol(root, result);
 		if (ret < 0)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-09  1:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26  6:59 [PATCH] fs: btrfs: Prevent error pointer dereference in list_subvolums() Dan Carpenter
2023-08-01  9:05 ` Marek Behún
2023-08-01 11:13   ` Dan Carpenter
2023-08-01  9:06 ` Qu Wenruo
2023-08-09  1:40 ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.