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]
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.... https://elixir.bootlin.com/linux/v6.11/source/drivers/input/touchscreen/chip...
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?