On Mon, Jul 13, 2020 at 07:34:10PM +0100, Russell King - ARM Linux admin wrote: > On Mon, Jul 13, 2020 at 09:19:37PM +0300, Jarkko Sakkinen wrote: > > 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. > > I'm not sure this is a good idea for 32-bit ARM. The code you are > moving for 32-bit ARM is quite specific to module use in that it also > supports allocating from the vmalloc area, where the module code > knows to add PLT entries. > > If the other proposed users of this text_alloc() do not have the logic > to add PLT entries when branches between kernel code and this > allocation are not reachable by, e.g. a 26-bit signed offset for 32-bit > ARM code, then this code is not suitable for that use.
My intention is to use this in kprobes code in the place of module_alloc(). I'm not sure why moving this code out of the module subsystem could possibly break anything. Unfortunately I forgot to add covere letter to my series. Sending v2 with that to explain my use case for this. /Jarkko