Commit 3894840a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM updates from Russell King:

 - ftrace: don't assume stack frames are contiguous in memory

 - remove unused mod_inwind_map structure

 - spelling fixes

 - allow use of LD dead code/data elimination

 - fix callchain_trace() return value

 - add support for stackleak gcc plugin

 - correct some reset asm function prototypes for CFI

[ Missed the merge window because Russell forgot to push out ]

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
  ARM: 9408/1: mm: CFI: Fix some erroneous reset prototypes
  ARM: 9407/1: Add support for STACKLEAK gcc plugin
  ARM: 9406/1: Fix callchain_trace() return value
  ARM: 9404/1: arm32: enable HAVE_LD_DEAD_CODE_DATA_ELIMINATION
  ARM: 9403/1: Alpine: Spelling s/initialiing/initializing/
  ARM: 9402/1: Kconfig: Spelling s/Cortex A-/Cortex-A/
  ARM: 9400/1: Remove unused struct 'mod_unwind_map'
parents dc1c8034 d7ac67b9
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ config ARM
	select HAVE_ARCH_PFN_VALID
	select HAVE_ARCH_SECCOMP
	select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
	select HAVE_ARCH_STACKLEAK
	select HAVE_ARCH_THREAD_STRUCT_WHITELIST
	select HAVE_ARCH_TRACEHOOK
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE if ARM_LPAE
@@ -116,6 +117,7 @@ config ARM
	select HAVE_KERNEL_XZ
	select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
	select HAVE_KRETPROBES if HAVE_KPROBES
	select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
	select HAVE_MOD_ARCH_SPECIFIC
	select HAVE_NMI
	select HAVE_OPTPROBES if !THUMB2_KERNEL
@@ -736,7 +738,7 @@ config ARM_ERRATA_764319
	bool "ARM errata: Read to DBGPRSR and DBGOSLSR may generate Undefined instruction"
	depends on CPU_V7
	help
	  This option enables the workaround for the 764319 Cortex A-9 erratum.
	  This option enables the workaround for the 764319 Cortex-A9 erratum.
	  CP14 read accesses to the DBGPRSR and DBGOSLSR registers generate an
	  unexpected Undefined Instruction exception when the DBGSWENABLE
	  external pin is set to 0, even when the CP14 accesses are performed
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ OBJS =

HEAD	= head.o
OBJS	+= misc.o decompress.o
CFLAGS_decompress.o += $(DISABLE_STACKLEAK_PLUGIN)
ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y)
OBJS	+= debug.o
AFLAGS_head.o += -DDEBUG
+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ SECTIONS

  . = BSS_START;
  __bss_start = .;
  .bss			: { *(.bss) }
  .bss			: { *(.bss .bss.*) }
  _end = .;

  . = ALIGN(8);		/* the stack must be 64-bit aligned */
+7 −0
Original line number Diff line number Diff line
@@ -26,6 +26,13 @@ struct stackframe {
#endif
};

static inline bool on_thread_stack(void)
{
	unsigned long delta = current_stack_pointer ^ (unsigned long)current->stack;

	return delta < THREAD_SIZE;
}

static __always_inline
void arm_get_current_stackframe(struct pt_regs *regs, struct stackframe *frame)
{
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@
#define PROC_INFO							\
		. = ALIGN(4);						\
		__proc_info_begin = .;					\
		*(.proc.info.init)					\
		KEEP(*(.proc.info.init))				\
		__proc_info_end = .;

#define IDMAP_TEXT							\
Loading