Re: [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper
From: Jarkko Sakkinen <hidden>
Date: 2020-07-14 11:54:10
Also in:
linux-riscv
On Tue, Jul 14, 2020 at 10:53:46AM +0100, Russell King - ARM Linux admin wrote:
On Tue, Jul 14, 2020 at 12:49:28PM +0300, Jarkko Sakkinen wrote:quoted
On Mon, Jul 13, 2020 at 07:34:10PM +0100, Russell King - ARM Linux admin wrote:quoted
On Mon, Jul 13, 2020 at 09:19:37PM +0300, Jarkko Sakkinen wrote:quoted
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.Ah, so you're merely renaming module_alloc() to text_alloc() everywhere? It sounded from the initial patch like you were also converting other users to use module_alloc().
Yes, exactly. I'm making the allocators unconditionally part of the kernel proper. My application for this is test kernels. I never compile anything as modules when I test a release. Also, I could imagine that especially in small scale embedded devices, it could be sometimes useful to be able to have tracing support w/o module support. /Jarkko