diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c index cd857119ba8a4cd2ea9ee85bb1a60fe07fb3ad11..35eaf689367901e45b1c652476b634e315bdc7b2 100644 --- a/fs/btrfs/reada.c +++ b/fs/btrfs/reada.c @@ -423,6 +423,7 @@ static struct reada_extent *reada_find_extent(struct btrfs_root *root, } spin_unlock(&fs_info->reada_lock); + kfree(multi); return re; error: @@ -447,6 +448,7 @@ static struct reada_extent *reada_find_extent(struct btrfs_root *root, kref_put(&zone->refcnt, reada_zone_release); spin_unlock(&fs_info->reada_lock); } + kfree(multi); kfree(re); if (looped) goto again;