linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH modules 0/2] Fix handling of exit unwinding sections (on ARM)
@ 2019-06-03 10:57 Matthias Schiffer
  2019-06-03 10:57 ` [PATCH modules 1/2] module: allow arch overrides for .exit section names Matthias Schiffer
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Matthias Schiffer @ 2019-06-03 10:57 UTC (permalink / raw)
  To: Russell King, Jessica Yu
  Cc: Matthias Schiffer, linux-ia64, linux-kernel, linux-arm-kernel

For some time (050d18d1c651 "ARM: 8650/1: module: handle negative
R_ARM_PREL31 addends correctly", v4.11+), building a kernel without
CONFIG_MODULE_UNLOAD would lead to module loads failing on ARM systems with
certain memory layouts, with messages like:

  imx_sdma: section 16 reloc 0 sym '': relocation 42 out of range
  (0x7f015260 -> 0xc0f5a5e8)

(0x7f015260 is in the module load area, 0xc0f5a5e8 a regular vmalloc
address; relocation 42 is R_ARM_PREL31)

This is caused by relocatiosn in the .ARM.extab.exit.text and
.ARM.exidx.exit.text sections referencing the .exit.text section. As the
module loader will omit loading .exit.text without CONFIG_MODULE_UNLOAD,
there will be relocations from loaded to unloaded sections; the resulting
huge offsets trigger the sanity checks added in 050d18d1c651.

IA64 might be affected by a similar issue - sections with names like
.IA_64.unwind.exit.text and .IA_64.unwind_info.exit.text appear in the ld
script - but I don't know much about that arch.

Also, I'm not sure if this is stable-worthy - just enabling
CONFIG_MODULE_UNLOAD should be a viable workaround on affected kernels.


Kind regards,
Matthias


Matthias Schiffer (2):
  module: allow arch overrides for .exit section names
  ARM: module: recognize unwind exit sections

 arch/arm/include/asm/module.h | 11 +++++++++++
 include/linux/moduleloader.h  |  8 ++++++++
 kernel/module.c               |  2 +-
 3 files changed, 20 insertions(+), 1 deletion(-)

-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-06-06 15:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-03 10:57 [PATCH modules 0/2] Fix handling of exit unwinding sections (on ARM) Matthias Schiffer
2019-06-03 10:57 ` [PATCH modules 1/2] module: allow arch overrides for .exit section names Matthias Schiffer
2019-06-06 15:09   ` Jessica Yu
2019-06-06 15:27     ` Matthias Schiffer
2019-06-03 10:57 ` [PATCH modules 2/2] ARM: module: recognize unwind exit sections Matthias Schiffer
2019-06-06  8:14 ` [PATCH modules 0/2] Fix handling of exit unwinding sections (on ARM) Matthias Schiffer
2019-06-06 15:21   ` Jessica Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).