Messages in this thread Patch in this message | | | From | Florian Fainelli <> | Subject | [PATCH v2] arm64: Allow user selection of ARM64_MODULE_PLTS | Date | Fri, 14 Jun 2019 11:56:34 -0700 |
| |
Make ARM64_MODULE_PLTS a selectable Kconfig symbol, since some people might have very big modules spilling out of the dedicated module area into vmalloc. Help text is copied from the ARM 32-bit counterpart and modified to a mention of KASLR and specific ARM errata workaround(s).
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- Changes in v2:
- added Ard's paragraph about KASLR - added a paragraph about specific workarounds also requiring ARM64_MODULE_PLTS
arch/arm64/Kconfig | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 697ea0510729..7bfaeeeee9bc 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1418,8 +1418,28 @@ config ARM64_SVE KVM in the same kernel image. config ARM64_MODULE_PLTS - bool + bool "Use PLTs to allow module memory to spill over into vmalloc area" select HAVE_MOD_ARCH_SPECIFIC + help + Allocate PLTs when loading modules so that jumps and calls whose + targets are too far away for their relative offsets to be encoded + in the instructions themselves can be bounced via veneers in the + module's PLT. This allows modules to be allocated in the generic + vmalloc area after the dedicated module memory area has been + exhausted. The modules will use slightly more memory, but after + rounding up to page size, the actual memory footprint is usually + the same. + + When running with address space randomization (KASLR), the module + region itself may be too far away for ordinary relative jumps and + calls, and so in that case, module PLTs are required and cannot be + disabled. + + Specific errata workaround(s) might also force module PLTs to be + enabled (ARM64_ERRATUM_843419). + + Disabling this is usually safe for small single-platform + configurations. If unsure, say y. config ARM64_PSEUDO_NMI bool "Support for NMI-like interrupts" -- 2.17.1
| |