This is a pre-requisite for the backport of commit 74363ec674cb ("zram: fix uninitialized ZRAM not releasing backing device"), which has been implemented differently in commit 7ac07a26dea7 ("zram: preparation for multi-zcomp support") upstream. We only need to ensure that zcomp_destroy is not called with a NULL comp, so add this check as the other commit cannot be backported easily. Stable-dep-of: 74363ec674cb ("zram: fix uninitialized ZRAM not releasing backing device") Link: https://lore.kernel.org/Z3ytcILx4S1v_ueJ@xxxxxxxxxxxxx Suggested-by: Kairui Song <kasong@xxxxxxxxxxx> Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxxxxxxxxxxxxx> --- This is the fix suggested by kasong in reply to my report (his mail didn't make it to lkml because of client sending html) This applies cleanly on all 3 branches, and I've tested it works properly on 5.10 (e.g. I can allocate and free zram devices fine) I have no preference on which way forward is taken, the problematic patch can be dropped for a cycle while this is sorted out... Also, Kasong pointed to another issue he sent a patch for just now: https://lore.kernel.org/all/20250107065446.86928-1-ryncsn@xxxxxxxxx/ Before 74363ec674cb ("zram: fix uninitialized ZRAM not releasing backing device") that was indeed not a problem so I confirm this is a regression, even if it is unlikely. It doesn't look exploitable by unprivileged users anyway so I don't have any opinion on whether the patches should be held until upstream picks this latest fix up as well either. Thanks, Dominique drivers/block/zram/zram_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index b83181357f36..b4133258e1bf 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1734,5 +1734,6 @@ static void zram_reset_device(struct zram *zram) zram->disksize = 0; memset(&zram->stats, 0, sizeof(zram->stats)); - zcomp_destroy(zram->comp); + if (zram->comp) + zcomp_destroy(zram->comp); zram->comp = NULL; reset_bdev(zram); -- 2.39.5