2020-08-27 07:47:04

by Dinghao Liu

[permalink] [raw]
Subject: [PATCH] btrfs: ref-verify: Fix memleak in add_extent_data_ref

When lookup_root_entry() fails, ref should be freed
just like when insert_ref_entry() fails.

Signed-off-by: Dinghao Liu <[email protected]>
---
fs/btrfs/ref-verify.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
index 7f03dbe5b609..712f5cfde404 100644
--- a/fs/btrfs/ref-verify.c
+++ b/fs/btrfs/ref-verify.c
@@ -419,6 +419,7 @@ static int add_extent_data_ref(struct btrfs_fs_info *fs_info,
if (!re) {
spin_unlock(&fs_info->ref_verify_lock);
btrfs_err(fs_info, "missing root in new block entry?");
+ kfree(ref);
return -EINVAL;
}
re->num_refs += num_refs;
--
2.17.1


2020-10-09 14:31:42

by Josef Bacik

[permalink] [raw]
Subject: Re: [PATCH] btrfs: ref-verify: Fix memleak in add_extent_data_ref

On 8/27/20 3:43 AM, Dinghao Liu wrote:
> When lookup_root_entry() fails, ref should be freed
> just like when insert_ref_entry() fails.
>
> Signed-off-by: Dinghao Liu <[email protected]>

Reviewed-by: Josef Bacik <[email protected]>

Thanks,

Josef