All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM
@ 2016-02-02 13:19 Ard Biesheuvel
  2016-02-02 13:19 ` [PATCH 1/3] ARM: move .vectors and .stubs sections back into the kernel VMA Ard Biesheuvel
                   ` (5 more replies)
  0 siblings, 6 replies; 29+ messages in thread
From: Ard Biesheuvel @ 2016-02-02 13:19 UTC (permalink / raw)
  To: linux-arm-kernel

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.

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

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

end of thread, other threads:[~2016-02-08 17:01 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-02 13:19 [PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM Ard Biesheuvel
2016-02-02 13:19 ` [PATCH 1/3] ARM: move .vectors and .stubs sections back into the kernel VMA Ard Biesheuvel
2016-02-03  0:03   ` Russell King - ARM Linux
2016-02-03  0:20     ` Nicolas Pitre
2016-02-03  7:56     ` Ard Biesheuvel
2016-02-03  9:13       ` Russell King - ARM Linux
2016-02-03  9:16         ` Ard Biesheuvel
2016-02-08 16:39           ` Russell King - ARM Linux
2016-02-08 17:00             ` Russell King - ARM Linux
2016-02-08 17:01             ` Ard Biesheuvel
2016-02-02 13:19 ` [PATCH 2/3] kallsyms: remove special lower address limit for CONFIG_ARM Ard Biesheuvel
2016-02-02 13:19 ` [PATCH 3/3] kallsyms: remove --page-offset command line option Ard Biesheuvel
2016-02-03  0:05   ` Russell King - ARM Linux
2016-02-03  8:16     ` Ard Biesheuvel
2016-02-03  9:53       ` Maxime Coquelin
2016-02-02 17:51 ` [PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM Nicolas Pitre
2016-02-02 18:59 ` Chris Brandt
2016-02-02 19:00   ` Ard Biesheuvel
2016-02-02 19:13     ` Chris Brandt
2016-02-03 13:33     ` Chris Brandt
2016-02-03 13:41       ` Ard Biesheuvel
2016-02-03 14:15         ` Chris Brandt
2016-02-03 14:17           ` Ard Biesheuvel
2016-02-03 20:01         ` Russell King - ARM Linux
2016-02-03 20:02           ` Ard Biesheuvel
2016-02-03 20:23             ` Nicolas Pitre
2016-02-03 20:30               ` Ard Biesheuvel
2016-02-03 20:41                 ` Ard Biesheuvel
2016-02-03 20:14 ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.