Re: [PATCH 5/5] btrfs: do not leak reloc root if we fail to read the fs root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 6, 2019 at 2:39 PM Josef Bacik <josef@xxxxxxxxxxxxxx> wrote:
>
> If we fail to read the fs root corresponding with a reloc root we'll
> just break out and free the reloc roots.  But we remove our current
> reloc_root from this list higher up, which means we'll leak this
> reloc_root.  Fix this by adding ourselves back to the reloc_roots list
> so we are properly cleaned up.
>
> Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx>

Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx>

Looks good, thanks.

> ---
>  fs/btrfs/relocation.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
> index a857fc8271d2..c5fcddad1c15 100644
> --- a/fs/btrfs/relocation.c
> +++ b/fs/btrfs/relocation.c
> @@ -4554,6 +4554,7 @@ int btrfs_recover_relocation(struct btrfs_root *root)
>                 fs_root = read_fs_root(fs_info, reloc_root->root_key.offset);
>                 if (IS_ERR(fs_root)) {
>                         err = PTR_ERR(fs_root);
> +                       list_add_tail(&reloc_root->root_list, &reloc_roots);
>                         goto out_free;
>                 }
>
> --
> 2.23.0
>


-- 
Filipe David Manana,

“Whether you think you can, or you think you can't — you're right.”




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux