linux-stable/arch/arm/kernel
Linus Torvalds 2c6a392cdd Merge branch 'core-stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull stack trace updates from Ingo Molnar:
 "So Thomas looked at the stacktrace code recently and noticed a few
  weirdnesses, and we all know how such stories of crummy kernel code
  meeting German engineering perfection end: a 45-patch series to clean
  it all up! :-)

  Here's the changes in Thomas's words:

   'Struct stack_trace is a sinkhole for input and output parameters
    which is largely pointless for most usage sites. In fact if embedded
    into other data structures it creates indirections and extra storage
    overhead for no benefit.

    Looking at all usage sites makes it clear that they just require an
    interface which is based on a storage array. That array is either on
    stack, global or embedded into some other data structure.

    Some of the stack depot usage sites are outright wrong, but
    fortunately the wrongness just causes more stack being used for
    nothing and does not have functional impact.

    Another oddity is the inconsistent termination of the stack trace
    with ULONG_MAX. It's pointless as the number of entries is what
    determines the length of the stored trace. In fact quite some call
    sites remove the ULONG_MAX marker afterwards with or without nasty
    comments about it. Not all architectures do that and those which do,
    do it inconsistenly either conditional on nr_entries == 0 or
    unconditionally.

    The following series cleans that up by:

      1) Removing the ULONG_MAX termination in the architecture code

      2) Removing the ULONG_MAX fixups at the call sites

      3) Providing plain storage array based interfaces for stacktrace
         and stackdepot.

      4) Cleaning up the mess at the callsites including some related
         cleanups.

      5) Removing the struct stack_trace based interfaces

    This is not changing the struct stack_trace interfaces at the
    architecture level, but it removes the exposure to the generic
    code'"

* 'core-stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
  x86/stacktrace: Use common infrastructure
  stacktrace: Provide common infrastructure
  lib/stackdepot: Remove obsolete functions
  stacktrace: Remove obsolete functions
  livepatch: Simplify stack trace retrieval
  tracing: Remove the last struct stack_trace usage
  tracing: Simplify stack trace retrieval
  tracing: Make ftrace_trace_userstack() static and conditional
  tracing: Use percpu stack trace buffer more intelligently
  tracing: Simplify stacktrace retrieval in histograms
  lockdep: Simplify stack trace handling
  lockdep: Remove save argument from check_prev_add()
  lockdep: Remove unused trace argument from print_circular_bug()
  drm: Simplify stacktrace handling
  dm persistent data: Simplify stack trace handling
  dm bufio: Simplify stack trace retrieval
  btrfs: ref-verify: Simplify stack trace retrieval
  dma/debug: Simplify stracktrace retrieval
  fault-inject: Simplify stacktrace retrieval
  mm/page_owner: Simplify stack trace handling
  ...
2019-05-06 13:11:48 -07:00
..
.gitignore
arch_timer.c
armksyms.c ARM: 8788/1: ftrace: remove old mcount support 2018-09-19 10:44:50 +01:00
asm-offsets.c ARM: smp: add support for per-task stack canaries 2018-12-12 13:20:07 -08:00
atags.h
atags_compat.c
atags_parse.c vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled 2018-12-20 16:32:56 +00:00
atags_proc.c
bios32.c PCI: Remove PCI_REASSIGN_ALL_RSRC use on arm and arm64 2017-12-18 23:07:43 -06:00
bugs.c ARM: clean up per-processor check_bugs method call 2018-11-12 10:51:01 +00:00
cpuidle.c
crash_dump.c
debug.S ARM: 8844/1: use unified assembler in assembly files 2019-02-26 11:26:07 +00:00
devtree.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
dma-isa.c
dma.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
early_printk.c
efi.c
elf.c Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-11-16 12:50:35 -08:00
entry-armv.S ARM: 8844/1: use unified assembler in assembly files 2019-02-26 11:26:07 +00:00
entry-common.S ARM: 8844/1: use unified assembler in assembly files 2019-02-26 11:26:07 +00:00
entry-ftrace.S ARM: 8788/1: ftrace: remove old mcount support 2018-09-19 10:44:50 +01:00
entry-header.S ARM: 8844/1: use unified assembler in assembly files 2019-02-26 11:26:07 +00:00
entry-v7m.S ARM: 8830/1: NOMMU: Toggle only bits in EXC_RETURN we are really care of 2019-02-01 21:44:19 +00:00
fiq.c
fiqasm.S
ftrace.c ARM: function_graph: Simplify with function_graph_enter() 2018-11-27 20:29:52 -05:00
head-common.S ARM: make lookup_processor_type() non-__init 2018-11-12 10:51:01 +00:00
head-inflate-data.c
head-nommu.S ARM: 8856/1: NOMMU: Fix CCR register faulty initialization when MPU is disabled 2019-04-23 17:28:37 +01:00
head.S ARM: 8811/1: always list both ldrd/strd registers explicitly 2018-11-12 10:51:54 +00:00
hibernate.c
hw_breakpoint.c perf/arch/arm: Implement hw_breakpoint_arch_parse() 2018-06-26 09:07:56 +02:00
hyp-stub.S ARM: 8848/1: virt: Align GIC version check with arm64 counterpart 2019-02-26 11:33:48 +00:00
insn.c
io.c
irq.c ARM: 8824/1: fix a migrating irq bug when hotplug cpu 2019-02-01 21:54:49 +00:00
isa.c
iwmmxt.S
jump_label.c jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
kgdb.c kgdb/treewide: constify struct kgdb_arch arch_kgdb_ops 2018-12-30 08:33:06 +00:00
machine_kexec.c ARM: avoid Cortex-A9 livelock on tight dmb loops 2019-02-01 22:05:50 +00:00
Makefile ARM: bugs: prepare processor bug infrastructure 2018-05-31 10:39:18 +01:00
module-plts.c
module.c
module.lds
opcodes.c
paravirt.c x86/paravirt: Use a single ops structure 2018-09-03 16:50:35 +02:00
patch.c ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t 2019-02-26 11:24:50 +00:00
perf_callchain.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
perf_event_v6.c arm_pmu: Tidy up clear_event_idx call backs 2018-07-10 18:19:02 +01:00
perf_event_v7.c arm_pmu: Tidy up clear_event_idx call backs 2018-07-10 18:19:02 +01:00
perf_event_xscale.c arm_pmu: Tidy up clear_event_idx call backs 2018-07-10 18:19:02 +01:00
perf_regs.c
pj4-cp0.c
process.c get rid of legacy 'get_ds()' function 2019-03-04 10:50:14 -08:00
psci_smp.c
ptrace.c signal/arm: Use force_sig_fault where appropriate 2018-09-27 21:57:39 +02:00
reboot.c
reboot.h
relocate_kernel.S
return_address.c
setup.c treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
signal.c rseq: Clean up comments by reflecting removal of event counter 2019-04-19 12:39:31 +02:00
signal.h
sigreturn_codes.S
sleep.S ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used 2019-02-26 11:32:54 +00:00
smccc-call.S
smp.c Merge branches 'fixes', 'misc' and 'smp-hotplug' into for-next 2019-03-15 15:12:56 +00:00
smp_scu.c
smp_tlb.c
smp_twd.c ARM: 8822/1: smp_twd: Remove legacy TWD registration 2019-02-01 21:44:10 +00:00
stacktrace.c arm/stacktrace: Remove the pointless ULONG_MAX marker 2019-04-14 19:58:27 +02:00
suspend.c ARM: bugs: hook processor bug checking into SMP and suspend paths 2018-05-31 10:39:29 +01:00
swp_emulate.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
sys_arm.c mm: add ksys_fadvise64_64() helper; remove in-kernel call to sys_fadvise64_64() 2018-04-02 20:16:10 +02:00
sys_oabi-compat.c y2038: use time32 syscall names on 32-bit 2019-02-07 00:13:28 +01:00
tcm.c
thumbee.c
time.c ARM/time: Remove read_boot_clock64() 2018-07-20 00:02:41 +02:00
topology.c ARM: topology: remove unneeded check for /cpus node 2018-09-28 14:25:58 -05:00
traps.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
unwind.c ARM: 8840/1: use a raw_spinlock_t in unwind 2019-02-26 11:24:51 +00:00
v7m.c
vdso.c ARM: 8748/1: mm: Define vdso_start, vdso_end as array 2018-03-24 14:27:49 +00:00
vmlinux-xip.lds.S vmlinux.lds.h: Move LSM_TABLE into INIT_DATA 2018-10-10 20:40:21 -07:00
vmlinux.lds.h vmlinux.lds.h: Fix incomplete .text.exit discards 2018-10-12 08:54:58 +11:00
vmlinux.lds.S ARM: 8757/1: NOMMU: Support PMSAv8 MPU 2018-05-19 11:53:46 +01:00
xscale-cp0.c