Message ID | 20201014092050.18274-1-paolo.pisati@canonical.com |
---|---|
State | New |
Headers | show |
Series | [SRU,G/master-next] UBUNTU: [Config] armhf: ARM_MODULE_PLTS=y | expand |
On 14/10/2020 10:20, Paolo Pisati wrote: > BugLink: https://bugs.launchpad.net/bugs/1899519 > > [Impact] > > Groovy armhf LPAE kernel fails to load kmods (and thus fail to boot): > > ... > [ 16.753306] gpio_keys: section 4 reloc 29 sym '_raw_spin_lock_irqsave': relocation 28 out of range (0xbf00f23c -> 0xc10a90ec) > [ 22.799409] linear: section 4 reloc 43 sym '__stack_chk_fail': relocation 28 out of range (0xbf0195e8 -> 0xc10a1dd8) > [ 23.000670] multipath: section 4 reloc 31 sym '__stack_chk_fail': relocation 28 out of range (0xbf021268 -> 0xc10a1dd8) > [ 23.227437] raid0: section 4 reloc 53 sym '__stack_chk_fail': relocation 28 out of range (0xbf02a548 -> 0xc10a1dd8) > [ 23.460764] raid1: section 4 reloc 18 sym '_cond_resched': relocation 28 out of range (0xbf035390 -> 0xc10a3b4c) > ... > > [Fix] > > Enable CONFIG_ARM_MODULE_PLTS for armhf > > [Regression potential] > > Quoting the arch/arm/Kconfig: > > " > Allocate Procedure Linkage Tables 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. > > Disabling this [option] is usually safe for small single-platform > configurations. > " > > Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> > --- > debian.master/config/annotations | 2 +- > debian.master/config/config.common.ubuntu | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/debian.master/config/annotations b/debian.master/config/annotations > index 308aec0..c408e11 100644 > --- a/debian.master/config/annotations > +++ b/debian.master/config/annotations > @@ -12776,7 +12776,7 @@ CONFIG_ARM_PATCH_IDIV policy<{'armhf': 'y'}> > CONFIG_AEABI policy<{'armhf': 'y'}> > CONFIG_OABI_COMPAT policy<{'armhf': 'n'}> > CONFIG_CPU_SW_DOMAIN_PAN policy<{'armhf-generic': 'y'}> > -CONFIG_ARM_MODULE_PLTS policy<{'armhf': 'n'}> > +CONFIG_ARM_MODULE_PLTS policy<{'armhf': 'y'}> > CONFIG_UACCESS_WITH_MEMCPY policy<{'armhf': 'n'}> > > # Menu: Processor type and features >> Architecture: arm64 > diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu > index 251cfb3..9f997cb 100644 > --- a/debian.master/config/config.common.ubuntu > +++ b/debian.master/config/config.common.ubuntu > @@ -723,7 +723,7 @@ CONFIG_ARM_L1_CACHE_SHIFT_6=y > CONFIG_ARM_L1_CACHE_SHIFT_7=y > CONFIG_ARM_MEDIATEK_CPUFREQ=m > CONFIG_ARM_MHU=m > -# CONFIG_ARM_MODULE_PLTS is not set > +CONFIG_ARM_MODULE_PLTS=y > CONFIG_ARM_MVEBU_V7_CPUIDLE=y > CONFIG_ARM_OMAP2PLUS_CPUFREQ=y > CONFIG_ARM_PATCH_IDIV=y > makes sense, explains why we were seeing that issue occur, thanks Paolo Acked-by: Colin Ian King <colin.king@canonical.com>
On Wed, Oct 14, 2020 at 11:20:50AM +0200, Paolo Pisati wrote: > BugLink: https://bugs.launchpad.net/bugs/1899519 > > [Impact] > > Groovy armhf LPAE kernel fails to load kmods (and thus fail to boot): > > ... > [ 16.753306] gpio_keys: section 4 reloc 29 sym '_raw_spin_lock_irqsave': relocation 28 out of range (0xbf00f23c -> 0xc10a90ec) > [ 22.799409] linear: section 4 reloc 43 sym '__stack_chk_fail': relocation 28 out of range (0xbf0195e8 -> 0xc10a1dd8) > [ 23.000670] multipath: section 4 reloc 31 sym '__stack_chk_fail': relocation 28 out of range (0xbf021268 -> 0xc10a1dd8) > [ 23.227437] raid0: section 4 reloc 53 sym '__stack_chk_fail': relocation 28 out of range (0xbf02a548 -> 0xc10a1dd8) > [ 23.460764] raid1: section 4 reloc 18 sym '_cond_resched': relocation 28 out of range (0xbf035390 -> 0xc10a3b4c) > ... > > [Fix] > > Enable CONFIG_ARM_MODULE_PLTS for armhf > > [Regression potential] > > Quoting the arch/arm/Kconfig: > > " > Allocate Procedure Linkage Tables 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. > > Disabling this [option] is usually safe for small single-platform > configurations. > " > > Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com>
On Wed, Oct 14, 2020 at 11:20:50AM +0200, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1899519
diff --git a/debian.master/config/annotations b/debian.master/config/annotations index 308aec0..c408e11 100644 --- a/debian.master/config/annotations +++ b/debian.master/config/annotations @@ -12776,7 +12776,7 @@ CONFIG_ARM_PATCH_IDIV policy<{'armhf': 'y'}> CONFIG_AEABI policy<{'armhf': 'y'}> CONFIG_OABI_COMPAT policy<{'armhf': 'n'}> CONFIG_CPU_SW_DOMAIN_PAN policy<{'armhf-generic': 'y'}> -CONFIG_ARM_MODULE_PLTS policy<{'armhf': 'n'}> +CONFIG_ARM_MODULE_PLTS policy<{'armhf': 'y'}> CONFIG_UACCESS_WITH_MEMCPY policy<{'armhf': 'n'}> # Menu: Processor type and features >> Architecture: arm64 diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu index 251cfb3..9f997cb 100644 --- a/debian.master/config/config.common.ubuntu +++ b/debian.master/config/config.common.ubuntu @@ -723,7 +723,7 @@ CONFIG_ARM_L1_CACHE_SHIFT_6=y CONFIG_ARM_L1_CACHE_SHIFT_7=y CONFIG_ARM_MEDIATEK_CPUFREQ=m CONFIG_ARM_MHU=m -# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_ARM_MODULE_PLTS=y CONFIG_ARM_MVEBU_V7_CPUIDLE=y CONFIG_ARM_OMAP2PLUS_CPUFREQ=y CONFIG_ARM_PATCH_IDIV=y
BugLink: https://bugs.launchpad.net/bugs/1899519 [Impact] Groovy armhf LPAE kernel fails to load kmods (and thus fail to boot): ... [ 16.753306] gpio_keys: section 4 reloc 29 sym '_raw_spin_lock_irqsave': relocation 28 out of range (0xbf00f23c -> 0xc10a90ec) [ 22.799409] linear: section 4 reloc 43 sym '__stack_chk_fail': relocation 28 out of range (0xbf0195e8 -> 0xc10a1dd8) [ 23.000670] multipath: section 4 reloc 31 sym '__stack_chk_fail': relocation 28 out of range (0xbf021268 -> 0xc10a1dd8) [ 23.227437] raid0: section 4 reloc 53 sym '__stack_chk_fail': relocation 28 out of range (0xbf02a548 -> 0xc10a1dd8) [ 23.460764] raid1: section 4 reloc 18 sym '_cond_resched': relocation 28 out of range (0xbf035390 -> 0xc10a3b4c) ... [Fix] Enable CONFIG_ARM_MODULE_PLTS for armhf [Regression potential] Quoting the arch/arm/Kconfig: " Allocate Procedure Linkage Tables 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. Disabling this [option] is usually safe for small single-platform configurations. " Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> --- debian.master/config/annotations | 2 +- debian.master/config/config.common.ubuntu | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)