]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: fix memory leak for data allocated by xfs_zone_gc_data_alloc()
authorWilfred Mallawa <wilfred.mallawa@wdc.com>
Fri, 17 Apr 2026 02:16:30 +0000 (12:16 +1000)
committerCarlos Maiolino <cem@kernel.org>
Mon, 27 Apr 2026 08:36:36 +0000 (10:36 +0200)
In xfs_zone_gc_mount(), on error, a struct xfs_zone_gc_data allocated
with xfs_zone_gc_data_alloc() is freed with kfree(), however, this
doesn't free the underlying folios or the rmap_irecs.

Use xfs_zone_gc_data_free() to correctly free this memory.

Fixes: 080d01c41d44 ("xfs: implement zoned garbage collection")
Cc: stable@vger.kernel.org # v6.15
Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_zone_gc.c

index fedcc47048aff50965e572a7602424794f901da6..c8a1d5c0332c52982732704f4160c2b2b2c0b3a4 100644 (file)
@@ -1221,7 +1221,7 @@ out_put_oz:
        if (data->oz)
                xfs_open_zone_put(data->oz);
 out_free_gc_data:
-       kfree(data);
+       xfs_zone_gc_data_free(data);
        return error;
 }