Re: [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Date: 2020-07-14 10:47:02
Also in:
linux-riscv
On Tue, Jul 14, 2020 at 12:49:28PM +0300, Jarkko Sakkinen wrote:
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(). -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!