linux-stable/arch/powerpc/kernel
Douglas Anderson 8d539b84f1 nmi_backtrace: allow excluding an arbitrary CPU
The APIs that allow backtracing across CPUs have always had a way to
exclude the current CPU.  This convenience means callers didn't need to
find a place to allocate a CPU mask just to handle the common case.

Let's extend the API to take a CPU ID to exclude instead of just a
boolean.  This isn't any more complex for the API to handle and allows the
hardlockup detector to exclude a different CPU (the one it already did a
trace for) without needing to find space for a CPU mask.

Arguably, this new API also encourages safer behavior.  Specifically if
the caller wants to avoid tracing the current CPU (maybe because they
already traced the current CPU) this makes it more obvious to the caller
that they need to make sure that the current CPU ID can't change.

[akpm@linux-foundation.org: fix trigger_allbutcpu_cpu_backtrace() stub]
Link: https://lkml.kernel.org/r/20230804065935.v4.1.Ia35521b91fc781368945161d7b28538f9996c182@changeid
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: kernel test robot <lkp@intel.com>
Cc: Lecopzer Chen <lecopzer.chen@mediatek.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Pingfan Liu <kernelfans@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-18 10:19:00 -07:00
..
ptrace powerpc/ptrace: Expose HASHKEYR register to ptrace 2023-06-19 17:36:27 +10:00
syscalls cachestat: wire up cachestat for other architectures 2023-06-09 16:25:16 -07:00
trace powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
vdso Kbuild updates for v6.5 2023-07-01 09:24:31 -07:00
.gitignore
85xx_entry_mapping.S
Makefile powerpc/64: Rename entry_64.S to prom_entry_64.S 2023-06-15 14:04:19 +10:00
align.c
asm-offsets.c powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
audit.c
btext.c powerpc: Use of_property_read_bool() for boolean properties 2023-03-30 23:36:35 +11:00
cacheinfo.c
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S powerpc/32: Fix objtool unannotated intra-function call warnings 2022-11-18 19:00:06 +11:00
cpu_setup_44x.S
cpu_setup_e500.S powerpc/32: Fix objtool unannotated intra-function call warnings 2022-11-18 19:00:06 +11:00
cpu_setup_pa6t.S
cpu_setup_power.c powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR) support 2023-06-19 17:36:25 +10:00
cpu_setup_ppc970.S
cpu_specs.h
cpu_specs_8xx.h
cpu_specs_40x.h
cpu_specs_44x.h
cpu_specs_47x.h
cpu_specs_85xx.h
cpu_specs_book3s_32.h
cpu_specs_book3s_64.h
cpu_specs_e500mc.h
cputable.c
crash_dump.c
dawr.c
dbell.c powerpc/64: Fix perf profiling asynchronous interrupt handlers 2023-01-30 20:07:42 +11:00
dma-iommu.c powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device 2023-05-17 00:54:55 +10:00
dma-mask.c
dma-swiotlb.c
dt_cpu_ftrs.c
early_32.c
eeh.c
eeh_cache.c
eeh_driver.c powerpc/eeh: Set channel state after notifying the drivers 2023-02-15 22:41:11 +11:00
eeh_event.c
eeh_pe.c powerpc/eeh: Rely on dev->link_active_reporting 2023-06-14 17:58:12 -05:00
eeh_sysfs.c
entry_32.S powerpc: merge 32-bit and 64-bit _switch implementation 2023-06-15 14:03:55 +10:00
epapr_hcalls.S powerpc/epapr: Don't use wrteei on non booke 2023-02-17 22:07:04 +11:00
epapr_paravirt.c
exceptions-64e.S powerpc/64e: Fix obtool warnings in exceptions-64e.S 2023-07-10 09:47:47 +10:00
exceptions-64s.S powerpc: add CFUNC assembly label annotation 2023-04-20 12:54:24 +10:00
fadump.c
firmware.c
fpu.S
head_8xx.S Merge branch 'topic/objtool' into next 2022-12-08 23:57:47 +11:00
head_32.h powerpc: add a definition for the marker offset within the interrupt frame 2022-12-02 17:54:08 +11:00
head_40x.S Merge branch 'topic/objtool' into next 2022-12-08 23:57:47 +11:00
head_44x.S powerpc: allow minimum sized kernel stack frames 2022-12-02 17:54:09 +11:00
head_64.S powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
head_85xx.S powerpc/85xx: Fix unannotated intra-function call warning 2023-01-30 15:59:59 +11:00
head_book3s_32.S Merge branch 'topic/objtool' into next 2022-12-08 23:57:47 +11:00
head_booke.h powerpc/32: Include thread_info.h in head_booke.h 2023-04-11 23:13:33 +10:00
hw_breakpoint.c powerpc/8xx: Fix warning in hw_breakpoint_handler() 2022-11-24 23:31:49 +11:00
hw_breakpoint_constraints.c
idle.c powerpc: Simplify sysctl registration for powersave_nap_ctl_table 2023-03-16 15:18:12 +11:00
idle_6xx.S
idle_64e.S
idle_85xx.S
idle_book3s.S
ima_arch.c
interrupt.c powerpc: Mark [h]ssr_valid accesses in check_return_regs_valid 2023-06-21 15:13:57 +10:00
interrupt_64.S powerpc: Fix merge conflict between pcrel and copy_thread changes 2023-04-26 16:20:16 +10:00
io-workarounds.c
io.c
iomap.c
iommu.c powerpc/iommu: Only build sPAPR access functions on pSeries 2023-06-21 15:13:57 +10:00
irq.c powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
irq_64.c powerpc/64: Don't call trace_hardirqs_on() in prep_irq_for_idle() 2023-04-20 13:21:49 +10:00
isa-bridge.c powerpc/isa-bridge: Fix ISA mapping when "ranges" is not present 2023-05-08 22:57:10 +10:00
jump_label.c
kdebugfs.c
kgdb.c powerpc: add definition for pt_regs offset within an interrupt frame 2022-12-02 17:54:08 +11:00
kprobes-ftrace.c
kprobes.c powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
kvm.c
kvm_emul.S
l2cr_6xx.S
legacy_serial.c powerpc/legacy_serial: Handle SERIAL_8250_FSL=n build failures 2023-06-13 12:27:04 +02:00
mce.c powerpc/mce: log the error for all unrecoverable errors 2023-02-10 22:17:34 +11:00
mce_power.c
misc.S
misc_32.S powerpc: allow minimum sized kernel stack frames 2022-12-02 17:54:09 +11:00
misc_64.S powerpc: add CFUNC assembly label annotation 2023-04-20 12:54:24 +10:00
module.c
module_32.c module: replace module_layout with module_memory 2023-03-09 12:55:15 -08:00
module_64.c powerpc/64: modules support building with PCREL addresing 2023-04-20 13:21:42 +10:00
msi.c
note.S
nvram_64.c
of_platform.c
optprobes.c powerpc/kprobes: Have optimized_callback() use preempt_enable() 2022-11-24 23:31:49 +11:00
optprobes_head.S powerpc: add definition for pt_regs offset within an interrupt frame 2022-12-02 17:54:08 +11:00
paca.c powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
pci-common.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
pci-hotplug.c
pci_32.c powerpc/pci: Add option for using pci_to_OF_bus_map 2023-02-07 20:15:23 +11:00
pci_64.c powerpc/pci_64: Init pcibios subsys a bit later 2023-03-14 23:36:27 +11:00
pci_dn.c
pci_of_scan.c
pmc.c
ppc_save_regs.S powerpc: update ppc_save_regs to save current r1 in pt_regs 2023-06-19 17:37:14 +10:00
proc_powerpc.c
process.c powerpc/dexcr: Support userspace ROP protection 2023-06-19 17:36:26 +10:00
prom.c powerpc/dexcr: Add initial Dynamic Execution Control Register (DEXCR) support 2023-06-19 17:36:25 +10:00
prom_entry_64.S powerpc/64: Rename entry_64.S to prom_entry_64.S 2023-06-15 14:04:19 +10:00
prom_init.c
prom_init_check.sh kasan, powerpc: don't rename memintrinsics if compiler adds prefixes 2023-03-23 17:18:33 -07:00
prom_parse.c
reloc_32.S
reloc_64.S
rtas-proc.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
rtas-rtc.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
rtas.c powerpc/rtas: lockdep annotations 2023-03-30 23:36:35 +11:00
rtas_entry.S
rtas_flash.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
rtas_pci.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
rtasd.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
secure_boot.c
security.c powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 2023-07-10 09:47:47 +10:00
secvar-ops.c powerpc/secvar: Warn and error if multiple secvar ops are set 2023-02-12 22:12:36 +11:00
secvar-sysfs.c powerpc/secvar: Don't print error on ENOENT when reading variables 2023-02-12 22:12:37 +11:00
setup-common.c powerpc/machdep: Define 'compatible' property in ppc_md and use it 2023-03-15 00:52:10 +11:00
setup.h
setup_32.c
setup_64.c cpu: Mark panic_smp_self_stop() __noreturn 2023-04-14 17:31:25 +02:00
signal.c
signal.h
signal_32.c powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe() 2023-06-09 23:29:51 +10:00
signal_64.c
smp-tbsync.c
smp.c powerpc updates for 6.5 2023-06-30 09:20:08 -07:00
stacktrace.c nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00
static_call.c
suspend.c
switch.S powerpc: merge 32-bit and 64-bit _switch implementation 2023-06-15 14:03:55 +10:00
swsusp.c
swsusp_32.S powerpc/32: Fix objtool unannotated intra-function call warnings 2022-11-18 19:00:06 +11:00
swsusp_64.c
swsusp_85xx.S
swsusp_asm64.S
sys_ppc32.c powerpc/32: fix syscall wrappers with 64-bit arguments 2022-11-01 10:24:09 +11:00
syscall.c
syscalls.c
sysfs.c powerpc/sysfs: move to use bus_get_dev_root() 2023-03-17 15:29:34 +01:00
systbl.c
tau_6xx.c powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues 2023-05-08 13:52:27 -10:00
time.c powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
tm.S powerpc: add definition for pt_regs offset within an interrupt frame 2022-12-02 17:54:08 +11:00
traps.c Revert "powerpc/bug: Provide better flexibility to WARN_ON/__WARN_FLAGS() with asm goto" 2023-07-17 10:35:28 +10:00
ucall.S
udbg.c
udbg_16550.c
uprobes.c
vdso.c mm: remove zap_page_range and create zap_vma_pages 2023-01-18 17:12:55 -08:00
vdso32_wrapper.S
vdso64_wrapper.S
vecemu.c
vector.S powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
vmlinux.lds.S powerpc/64: vmlinux support building with PCREL addresing 2023-04-20 12:59:21 +10:00
watchdog.c nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00