[PATCH v2 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper

Jessica Yu jeyu at kernel.org
Tue Jul 14 09:56:52 EDT 2020

+++ Jarkko Sakkinen [14/07/20 12:45 +0300]:
>Rename module_alloc() to text_alloc() and module_memfree() to
>text_memfree(), and move them to kernel/text.c, which is unconditionally
>compiled to the kernel proper. This allows kprobes, ftrace and bpf to
>allocate space for executable code without requiring to compile the modules
>support (CONFIG_MODULES=y) in.
>Cc: Andi Kleen <ak at linux.intel.com>
>Suggested-by: Peter Zijlstra <peterz at infradead.org>
>Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen at linux.intel.com>

As Ard and Will have already explained, the major issue I'm having
with this is that we're taking module_alloc(), an allocator that was
originally specific to module loading, and turning it into a generic
interface to be used by other subsystems. You're pulling in all the
module loading semantics that vary by architecture and expecting it to
work as a generic text allocator. I'm not against the existence of a
generic text_alloc() but I would very much rather that module_alloc()
be left alone to the module loader and instead work on introducing a
*separate* generic text_alloc() interface that would work for its
intended users (kprobes, bpf, etc) and have existing users of
module_alloc() switch to that instead.


More information about the linux-riscv mailing list