stacktrace.c (16ba7e312045cd5d32fba0156312b4303f200787) stacktrace.c (9cb8f069deeed708bf19486d5893e297dc467ae0)
1// SPDX-License-Identifier: GPL-2.0
2
3/*
4 * Stack trace utility functions etc.
5 *
6 * Copyright 2008 Christoph Hellwig, IBM Corp.
7 * Copyright 2018 SUSE Linux GmbH
8 * Copyright 2018 Nick Piggin, Michael Ellerman, IBM Corp.

--- 246 unchanged lines hidden (view full) ---

255
256 if (virt_addr_valid(p->__current))
257 pr_cont(" current: %d (%s)\n", p->__current->pid,
258 p->__current->comm);
259 else
260 pr_cont(" current pointer corrupt? (%px)\n", p->__current);
261
262 pr_warn("Back trace of paca->saved_r1 (0x%016llx) (possibly stale):\n", p->saved_r1);
1// SPDX-License-Identifier: GPL-2.0
2
3/*
4 * Stack trace utility functions etc.
5 *
6 * Copyright 2008 Christoph Hellwig, IBM Corp.
7 * Copyright 2018 SUSE Linux GmbH
8 * Copyright 2018 Nick Piggin, Michael Ellerman, IBM Corp.

--- 246 unchanged lines hidden (view full) ---

255
256 if (virt_addr_valid(p->__current))
257 pr_cont(" current: %d (%s)\n", p->__current->pid,
258 p->__current->comm);
259 else
260 pr_cont(" current pointer corrupt? (%px)\n", p->__current);
261
262 pr_warn("Back trace of paca->saved_r1 (0x%016llx) (possibly stale):\n", p->saved_r1);
263 show_stack(p->__current, (unsigned long *)p->saved_r1);
263 show_stack(p->__current, (unsigned long *)p->saved_r1, KERN_WARNING);
264 }
265}
266
267void arch_trigger_cpumask_backtrace(const cpumask_t *mask, bool exclude_self)
268{
269 nmi_trigger_cpumask_backtrace(mask, exclude_self, raise_backtrace_ipi);
270}
271#endif /* defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_NMI_IPI) */
264 }
265}
266
267void arch_trigger_cpumask_backtrace(const cpumask_t *mask, bool exclude_self)
268{
269 nmi_trigger_cpumask_backtrace(mask, exclude_self, raise_backtrace_ipi);
270}
271#endif /* defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_NMI_IPI) */