Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58557e48 authored by Florian Fainelli's avatar Florian Fainelli Committed by Catalin Marinas
Browse files

arm64: Allow user selection of ARM64_MODULE_PLTS



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).

Acked-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 2af22f3e
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -1418,8 +1418,23 @@ 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.

	  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).

config ARM64_PSEUDO_NMI
	bool "Support for NMI-like interrupts"