2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-20 19:23:57 +08:00
linux-next/arch/parisc/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
..
syscalls arch: add pidfd and io_uring syscalls everywhere 2019-04-15 16:31:17 +02:00
.gitignore parisc: add arch/parisc/kernel/.gitignore 2008-10-10 16:32:28 +00:00
alternative.c parisc: Split out alternative live patching code 2018-12-10 07:47:50 +01:00
asm-offsets.c parisc: Drop per_cpu uaccess related exception_data struct 2017-05-10 17:46:13 +02:00
audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.c parisc: Optimze cache flush algorithms 2018-10-20 21:10:26 +02:00
compat_audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
drivers.c parisc: Convert printk(KERN_LEVEL) to pr_lvl() 2018-06-28 17:14:44 +02:00
entry.S parisc: Use LINUX_GATEWAY_SPACE constant in entry.S 2018-10-26 08:20:58 +02:00
firmware.c parisc: Show machine product number during boot 2019-02-21 20:37:13 +01:00
ftrace.c parisc: function_graph: Simplify with function_graph_enter() 2018-11-27 20:30:52 -05:00
hardware.c parisc: Move various functions and strings to init section 2018-03-27 18:52:21 +02:00
head.S parisc: Check if secondary CPUs want own PDC calls 2018-03-02 10:04:46 +01:00
hpmc.S parisc: Fix exported address of os_hpmc handler 2018-10-17 08:18:01 +02:00
inventory.c parisc: Retrieve and display the PDC PAT capabilities 2018-10-20 21:10:37 +02:00
irq.c parisc: Improve initial IRQ to CPU assignment 2019-02-21 20:37:11 +01:00
Makefile parisc: Split out alternative live patching code 2018-12-10 07:47:50 +01:00
module.c parisc: Split out alternative live patching code 2018-12-10 07:47:50 +01:00
pa7300lc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pacache.S parisc: Optimze cache flush algorithms 2018-10-20 21:10:26 +02:00
parisc_ksyms.c parisc: Export __cmpxchg_u64 unconditionally 2017-10-19 08:48:45 +02:00
pci-dma.c dma-mapping: zero memory returned from dma_alloc_* 2018-12-20 08:13:52 +01:00
pci.c parisc: Fix section mismatches 2018-05-02 21:47:35 +02:00
pdc_chassis.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
pdc_cons.c treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
pdt.c mm/memory_failure: Remove unused trapno from memory_failure 2018-01-23 12:17:42 -06:00
perf_asm.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
perf_images.h
perf.c parisc: Static initialization of spinlocks in perf and unwind code 2017-08-22 16:34:33 +02:00
process.c parisc: Detect QEMU earlier in boot process 2019-04-06 19:07:55 +02:00
processor.c parisc: Show machine product number during boot 2019-02-21 20:37:13 +01:00
ptrace.c parisc: Fix ptrace syscall number modification 2019-02-21 20:10:46 +01:00
real2.S parisc: Fix and improve kernel stack unwinding 2018-08-13 09:54:17 +02:00
setup.c parisc: Detect QEMU earlier in boot process 2019-04-06 19:07:55 +02:00
signal32.c signal: Unify and correct copy_siginfo_to_user32 2018-01-15 19:56:20 -06:00
signal32.h signal: Unify and correct copy_siginfo_to_user32 2018-01-15 19:56:20 -06:00
signal.c parisc: Add alternative coding infrastructure 2018-10-17 17:22:26 +02:00
smp.c parisc: Count IPI function call interrupts 2019-02-21 20:37:11 +01:00
stacktrace.c parisc/stacktrace: Remove the pointless ULONG_MAX marker 2019-04-14 19:58:29 +02:00
sys_parisc32.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sys_parisc.c parisc: Restore possibility to execute 64-bit applications 2018-08-17 16:45:24 +02:00
syscall.S parisc: generate uapi header and system call table files 2018-12-10 08:26:04 +01:00
time.c parisc: time: Convert read_persistent_clock() to read_persistent_clock64() 2018-04-20 20:18:21 +02:00
topology.c parisc: Add CPU topology support 2017-11-17 15:27:22 +01:00
traps.c parisc: replace oops_in_progress manipulation with bust_spinlocks() 2019-02-21 20:37:11 +01:00
unaligned.c signal/parisc: Use force_sig_fault where appropriate 2018-04-25 10:44:06 -05:00
unwind.c parisc: Fix uninitialized variable usage in unwind.c 2018-10-16 11:37:29 +02:00
vmlinux.lds.S parisc: Add alternative coding infrastructure 2018-10-17 17:22:26 +02:00