linux-kernel-test/arch/sh/kernel
Matt Fleming b344e24a8e sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON()
We can't assume that if we execute the unwinder code and the unwinder
was already running that it has faulted. Clearly two kernel threads can
invoke the unwinder at the same time and may be running simultaneously.

The previous approach used BUG() and BUG_ON() in the unwinder code to
detect whether the unwinder was incapable of unwinding the stack, and
that the next available unwinder should be used instead. A better
approach is to explicitly invoke a trap handler to switch unwinders when
the current unwinder cannot continue.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
2009-08-21 13:02:44 +01:00
..
cpu Merge branch 'sh/stable-updates' 2009-08-15 12:59:42 +09:00
vsyscall [S390] arch_setup_additional_pages arguments 2008-12-25 13:38:54 +01:00
.gitignore sh: Add an arch/sh/kernel/.gitignore 2008-07-29 08:29:32 +09:00
asm-offsets.c sh: Provide diagnostic kernel stack checks 2009-07-11 10:07:58 +09:00
cpufreq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-10-13 09:49:04 -07:00
crash_dump.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
debugtraps.S sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
disassemble.c sh: Add a simple code dumper for SUPERH32 show_regs(). 2008-12-22 18:43:49 +09:00
dumpstack.c sh: flag the default unwinder as reliable. 2009-08-15 01:09:03 +09:00
dwarf.c sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
early_printk.c sh: Fix up early printk build error. 2009-08-04 15:54:33 +09:00
entry-common.S sh: Add CFI annotations for exception return. 2009-08-14 02:02:07 +09:00
ftrace.c sh: Function graph tracer support 2009-07-11 10:08:01 +09:00
gpio.c sh: use gpiolib 2009-01-27 14:49:10 +09:00
head_32.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
head_64.S sh: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
idle.c sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. 2009-06-23 17:30:17 +09:00
init_task.c mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
io_generic.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.c sh: Rework irqflags tracing to fix up CONFIG_PROVE_LOCKING. 2009-07-29 23:01:24 +09:00
io.c sh: pci: Consolidate pci_iomap() and use the generic I/O base. 2009-04-20 16:38:00 +09:00
irq.c sh: unwinder: Move initialization to early_initcall() and tidy up locking. 2009-08-17 05:07:38 +09:00
kgdb.c sh: Rename opcode_t to insn_size_t. 2009-05-09 16:02:08 +09:00
kprobes.c sh: kprobes: kretprobe_trampoline needs to be global. 2008-09-09 08:13:28 +09:00
localtimer.c sh: Move dummy clockevents broadcast timer to its new home. 2009-05-03 18:29:27 +09:00
machine_kexec.c sh: disallow kexec virtual entry 2009-03-20 18:56:04 +09:00
machvec.c sh: boot word / mode pin support V2 2009-06-01 15:44:49 +09:00
Makefile sh: Merge the _32/_64 variants of arch/sh/kernel/Makefile. 2009-08-16 03:35:26 +09:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
process_32.c sh: Mark __switch_to() as __notrace_funcgraph 2009-07-11 10:08:06 +09:00
process_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-06-18 14:07:35 -07:00
ptrace_32.c sh: Add ftrace syscall tracing support 2009-07-06 20:16:33 +09:00
ptrace_64.c sh: Provide linux/regset.h interface for SH-5. 2008-12-22 18:44:04 +09:00
relocate_kernel.S sh: add kexec jump support 2009-03-18 18:57:43 +09:00
setup.c sh: Use bootmem ontop of lmb 2009-07-03 16:16:54 +09:00
sh_bios.c sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_ksyms_32.c sh: Use DECLARE_EXPORT() for mcount symbol export. 2009-07-11 20:32:14 +09:00
sh_ksyms_64.c sh: Convert sh64 to use the generic checksum code. 2009-06-15 00:00:42 +09:00
signal_32.c sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn 2009-06-18 18:25:21 +09:00
signal_64.c sh: Fix up spurious syscall restarting. 2009-01-29 11:56:03 +09:00
smp.c cpumask: Use accessors for cpu_*_mask: sh 2009-06-14 18:24:16 +09:00
stacktrace.c sh: stacktrace: Properly terminate the trace entry buffer. 2009-08-15 01:11:37 +09:00
swsusp.c sh: hibernation support 2009-03-10 12:55:40 +09:00
sys_sh32.c [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
sys_sh64.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
sys_sh.c sh: remove stray markers. 2009-06-18 13:38:26 +09:00
syscalls_32.S sh: Wire up sys_perf_counter_open. 2009-06-12 01:33:22 +03:00
syscalls_64.S sh: Wire up sys_perf_counter_open. 2009-06-12 01:33:22 +03:00
time.c Revert "sh: Bump the earlytimer bits back to time_init()." 2009-07-29 22:43:58 +09:00
topology.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
traps_32.c sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
traps_64.c sh: Always fixup unaligned userspace accesses on sh64. 2009-05-08 20:32:56 +09:00
traps.c sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
unwinder.c sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() 2009-08-21 13:02:44 +01:00
vmlinux.lds.S sh: dwarf unwinder support. 2009-08-14 01:58:43 +09:00