[PATCH v3 2/2] arm64: ftrace: emit ftrace-mod.o contents through code

Will Deacon will.deacon at arm.com
Tue Nov 28 10:31:21 PST 2017


On Mon, Nov 20, 2017 at 05:41:30PM +0000, Ard Biesheuvel wrote:
> When building the arm64 kernel with both CONFIG_ARM64_MODULE_PLTS and
> CONFIG_DYNAMIC_FTRACE enabled, the ftrace-mod.o object file is built
> with the kernel and contains a trampoline that is linked into each
> module, so that modules can be loaded far away from the kernel and
> still reach the ftrace entry point in the core kernel with an ordinary
> relative branch, as is emitted by the compiler instrumentation code
> dynamic ftrace relies on.
> 
> In order to be able to build out of tree modules, this object file
> needs to be included into the linux-headers or linux-devel packages,
> which is undesirable, as it makes arm64 a special case (although a
> precedent does exist for 32-bit PPC).
> 
> Given that the trampoline essentially consists of a PLT entry, let's
> not bother with a source or object file for it, and simply patch it
> in whenever the trampoline is being populated, using the existing
> PLT support routines.

I'll pick these two up for 4.15. Do you think they need to go to stable as
well?

Will



More information about the linux-arm-kernel mailing list