On (24/09/24 14:49), Sergey Senozhatsky wrote: > On (24/09/24 07:21), Christophe JAILLET wrote: > [..] > > > kfree_const() will not work if zram is built as a module. It works > > > only for .rodata for kernel image. [1] > > > > > > 1. https://elixir.bootlin.com/linux/v6.11/source/include/asm-generic/sections.h#L177 > > > > > > > If so, then it is likely that it is not correctly used elsewhere. > > > > https://elixir.bootlin.com/linux/v6.11/source/drivers/dax/kmem.c#L289 > > https://elixir.bootlin.com/linux/v6.11/source/drivers/firmware/arm_scmi/bus.c#L341 > > https://elixir.bootlin.com/linux/v6.11/source/drivers/input/touchscreen/chipone_icn8505.c#L379 OK there are too many users of kfree_const() in drivers/ so un-exporting it is not an option, that was a silly idea. We probably need to walk through them and make sure that they don't kfree_const() modules' .rodata