[PATCH 1/2] zram: set default primary compressor in zram_destroy_comps()

From: Sergey Senozhatsky

Date: Wed Jul 29 2026 - 00:00:22 EST


zram_destroy_comps() resets all compressors and leaves them
set to NULL, including the primary one, which is invalid
device state, as now comp_algorithm_show()->strcmp() can
be called on a NULL compressor. Set default primary
compressor in zram_destroy_comps().

Fixes: 486fd58af7ac ("zram: don't free statically defined names")
Link: https://sashiko.dev/#/patchset/20260728092935.31139-1-haoqinhuang7@xxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>
---
drivers/block/zram/zram_drv.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index ace65c586072..ebe2da955182 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -2836,6 +2836,7 @@ static void zram_destroy_comps(struct zram *zram)
zram->comp_algs[prio] = NULL;

zram_comp_params_reset(zram);
+ comp_algorithm_set(zram, ZRAM_PRIMARY_COMP, default_compressor);
}

static void zram_reset_device(struct zram *zram)
@@ -2853,8 +2854,6 @@ static void zram_reset_device(struct zram *zram)
zram_destroy_comps(zram);
memset(&zram->stats, 0, sizeof(zram->stats));
reset_bdev(zram);
-
- comp_algorithm_set(zram, ZRAM_PRIMARY_COMP, default_compressor);
}

static ssize_t disksize_store(struct device *dev, struct device_attribute *attr,
--
2.55.0.508.g3f0d502094-goog