On (24/09/24 01:41), Andrey Skvortsov wrote: [..] > > > +++ b/drivers/block/zram/zram_drv.c > > > @@ -2115,8 +2115,10 @@ static void zram_destroy_comps(struct zram *zram) > > > zram->num_active_comps--; > > > } > > > - for (prio = ZRAM_SECONDARY_COMP; prio < ZRAM_MAX_COMPS; prio++) { > > > - kfree(zram->comp_algs[prio]); > > > + for (prio = ZRAM_PRIMARY_COMP; prio < ZRAM_MAX_COMPS; prio++) { > > > + /* Do not free statically defined compression algorithms */ > > > + if (zram->comp_algs[prio] != default_compressor) > > > + kfree(zram->comp_algs[prio]); > > > > Hi, > > > > maybe kfree_const() to be more future proof and less verbose? > > kfree_const() will not work if zram is built as a module. It works > only for .rodata for kernel image. [1] Indeed. It probably shouldn't even be exported; same for kstrdup_const() [1] [1] https://lore.kernel.org/linux-mm/20240924050937.697118-1-senozhatsky@xxxxxxxxxxxx