linux/arch
Catalin Marinas c894ed6956 [ARM] 5558/1: Add extra checks to ARM unwinder to avoid tracing corrupt stacks
There are situations where the unwinder goes beyond stack boundaries and
unwinds random data. This patch moves the stack boundaries check after
the unwind_exec_insn() call and adds an extra check for possible
infinite loops (like "mov pc, lr" with pc == lr).

The patch also fixes a bug in the unwind instructions interpreter. The
0xb0 instruction can only set PC to LR if this wasn't already set by
a previous instruction (this is used on exceptions taken while in kernel
mode where svc_entry is annotated with ".save {r0 - pc}").

Tested-by: Tony Lindgren <tony@atomide.com>

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-06-19 16:44:22 +01:00
..
alpha Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
arm [ARM] 5558/1: Add extra checks to ARM unwinder to avoid tracing corrupt stacks 2009-06-19 16:44:22 +01:00
avr32 mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
blackfin Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
cris kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
frv mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
h8300 kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
ia64 ia64: Fix resource assignment for root busses 2009-06-17 14:04:42 -07:00
m32r kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
m68k kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
m68knommu mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
microblaze kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
mips Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
mn10300 Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
parisc Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
powerpc Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
s390 Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
sh Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
sparc Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
um Merge branch 'akpm' 2009-06-16 19:50:13 -07:00
x86 x86: Use pci_claim_resource 2009-06-17 14:04:42 -07:00
xtensa kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
.gitignore
Kconfig mutex: have non-spinning mutexes on s390 by default 2009-04-09 19:28:24 +02:00