On Mon, Jun 25, 2012 at 05:15:23AM -0600, Dan Carpenter wrote:
> We dereferenced "node" in the error message after freeing it. Also
> btrfs_panic() can return so we should return an error code instead of
> continuing.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> v2: in the first version I just deleted the kfree().
>
> diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
> index 790f492..4da0865 100644
> --- a/fs/btrfs/relocation.c
> +++ b/fs/btrfs/relocation.c
> @@ -1239,10 +1239,11 @@ static int __must_check __add_reloc_root(struct btrfs_root *root)
> node->bytenr, &node->rb_node);
> spin_unlock(&rc->reloc_root_tree.lock);
> if (rb_node) {
> - kfree(node);
> btrfs_panic(root->fs_info, -EEXIST, "Duplicate root found "
> "for start=%llu while inserting into relocation "
> "tree\n", node->bytenr);
> + kfree(node);
> + return -EEXIST;
> }
>
> list_add_tail(&root->root_list, &rc->reloc_roots);
I'm not sure why but it seems like this patch is wrapped. At first I thought it
was thunderbird but then I opened it up and saved it from mutt and I got the
same problem. I will fix it up, but you may want to check your mail client.
Thanks,
Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html