[PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM

Nicolas Pitre nicolas.pitre at linaro.org
Tue Feb 2 09:51:16 PST 2016


On Tue, 2 Feb 2016, Ard Biesheuvel wrote:

> This series applies on top of today's -next, and addresses an issue with
> the new kallsyms code that is queued there, that enables base relative
> kallsyms tables for all architectures (except IA-64)
> 
> Two issues have surfaced on ARM with the new kallsyms code:
> a) CONFIG_HAVE_TCM creates a virtual region that is too far away for the
>    relative kallsyms code to reach it;
> b) CONFIG_XIP_KERNEL=y kernel symbols are not filtered against PAGE_OFFSET,
>    as is the case for kernels that execute from RAM, resulting in symbols
>    that are out of range.
> 
> Since the way kallsyms deals with XIP kernels on ARM leaves some room for
> improvement regardless of the base relative changes, this series proposes
> a fix that allows the special case to be removed from the kallsyms handling
> entirely.
> 
> Patch #1 moves the .stubs and .vectors section back into the kernel VMA, while
> preserving the guaranteed virtual offset of 4 KB. This results in all symbols
> that kallsyms sees to be in a reasonable interval.
> 
> Patch #2 removes the special case for CONFIG_ARM && !CONFIG_XIP_KERNEL in the
> invocation of scripts/kallsyms
> 
> Patch #3 removes the now unused --page-offset command line argument handling
> from scripts/kallsyms.c
> 
> Note that we may still need to remove ARM from the list of architectures that
> support base relative kallsyms tables if we cannot fix issue a) above, but
> removing this special case seemed like an obvious improvement to me.

For those 3 patches:

Acked-by: Nicolas Pitre <nico at linaro.org>



> 
> Ard Biesheuvel (3):
>   ARM: move .vectors and .stubs sections back into the kernel VMA
>   kallsyms: remove special lower address limit for CONFIG_ARM
>   kallsyms: remove --page-offset command line option
> 
>  arch/arm/kernel/entry-armv.S  |  7 +++--
>  arch/arm/kernel/vmlinux.lds.S | 15 ++++++-----
>  scripts/kallsyms.c            | 27 ++++----------------
>  scripts/link-vmlinux.sh       |  4 ---
>  4 files changed, 16 insertions(+), 37 deletions(-)
> 
> -- 
> 2.5.0
> 
> 



More information about the linux-arm-kernel mailing list