Messages in this thread | | | From | Arnd Bergmann <> | Date | Wed, 31 Jan 2018 21:24:27 +0100 | Subject | Re: [PATCHv2] arch/arm/Kconfig: default ARM_MODULE_PLTS to 'y' |
| |
On Wed, Jan 31, 2018 at 9:19 PM, Anders Roxell <anders.roxell@linaro.org> wrote: > While testing multi_v7_defconfig with LOCKDEP enabled, the kernel > fails to load simple modules, as reported by kselftest: > > [ 34.107620] test_printf: section 4 reloc 2 sym 'memset': relocation > 28 out of range (0xbf046044 -> 0xc109f720) > selftests: printf.sh [FAIL] > > The problem that is seen when LOCKDEP is enabled without > ARM_MODULE_PLTS, is that LOCKDEP eats so much memory that the top of the > kernel gets out of reach from the bottom of the module area.
I think we could still use a better explanation here, as Russell said anything could cause the size to grow too much, it's just that you happened to run into it through lockdep, which can cause a very significant growth.
Arnd
> Suggested-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> > --- > arch/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 51c8df561077..8014c8c322df 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1702,6 +1702,7 @@ config ARCH_WANT_GENERAL_HUGETLB > config ARM_MODULE_PLTS > bool "Use PLTs to allow module memory to spill over into vmalloc area" > depends on MODULES > + default y > help > Allocate PLTs when loading modules so that jumps and calls whose > targets are too far away for their relative offsets to be encoded > -- > 2.11.0 >
| |