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 icn8505_probe_acpi() uses kfree_const(subsys)... subsys is returned from acpi_get_subsystem_id() which only does sub = kstrdup(obj->string.pointer, GFP_KERNEL); However, if acpi_get_subsystem_id() returns an error then icn8505_probe_acpi() does subsys = "unknown"; and I suspect that kfree_const(subsys) can, in fact, explode?