2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-20 11:13:58 +08:00
linux-next/arch/parisc/kernel
Helge Deller 9372450cc2 parisc: add kernel stack overflow check
Add the CONFIG_DEBUG_STACKOVERFLOW config option to enable checks to
detect kernel stack overflows.

Stack overflows can not be detected reliable since we do not want to
introduce too much overhead.

Instead, during irq processing in do_cpu_irq_mask() we check kernel
stack usage of the interrupted kernel process. Kernel threads can be
easily detected by checking the value of space register 7 (sr7) which
is zero when running inside the kernel.

Since THREAD_SIZE is 16k and PAGE_SIZE is 4k, reduce the alignment of
the init thread to the lower value (PAGE_SIZE) in the kernel
vmlinux.ld.S linker script.

Signed-off-by: Helge Deller <deller@gmx.de>
2013-05-07 21:34:07 +02:00
..
.gitignore parisc: add arch/parisc/kernel/.gitignore 2008-10-10 16:32:28 +00:00
asm-offsets.c parisc: Use of align_frame provides stack frame. 2010-05-30 05:38:27 -04:00
binfmt_elf32.c parisc: fix redefinition of SET_PERSONALITY 2013-03-02 20:15:28 +01:00
cache.c parisc: remove the second argument of kmap_atomic 2013-05-06 22:19:00 +02:00
drivers.c parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:00 -04:00
entry.S parisc: only re-enable interrupts if we need to schedule or deliver signals when returning to userspace 2013-05-07 20:33:03 +02:00
firmware.c Disintegrate asm/system.h for PA-RISC 2012-03-28 18:30:02 +01:00
ftrace.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
hardware.c ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
head.S [PARISC] only make executable areas executable 2011-04-15 12:55:18 -05:00
hpmc.S parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
inventory.c parisc: fix possible memory leak in pat_query_module() 2013-02-20 22:47:11 +01:00
irq.c parisc: add kernel stack overflow check 2013-05-07 21:34:07 +02:00
Makefile parisc: Fix init_task fallout 2012-05-07 11:38:46 +02:00
module.c modules: don't hand 0 to vmalloc. 2012-12-14 13:06:43 +10:30
pa7300lc.c
pacache.S parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
parisc_ksyms.c parisc: Provide __ucmpdi2 to resolve undefined references in 32 bit builds. 2013-04-25 22:36:15 +02:00
pci-dma.c parisc: Add export.h to files needing EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:00 -04:00
pci.c parisc/PCI: factor out pcibios_setup() 2012-07-05 15:09:13 -06:00
pdc_chassis.c parisc: single_open() leaks 2013-05-05 00:10:41 -04:00
pdc_cons.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08: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: remove big kernel lock 2010-10-16 22:43:08 +02:00
process.c parisc: Use generic idle loop 2013-04-08 17:39:27 +02:00
processor.c parisc: processor.c, fix bloated stack frame 2009-07-03 03:34:11 +00:00
ptrace.c parisc: improve ptrace support for gdb single-step 2013-01-07 23:06:27 +01:00
real2.S parisc: move pdc_result to real2.S 2008-10-10 16:32:28 +00:00
setup.c parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
signal32.c parisc: fix error return codes for rt_sigaction and rt_sigprocmask 2013-02-20 22:57:02 +01:00
signal32.h parisc: switch to generic compat rt_sigaction() 2013-02-03 18:16:07 -05:00
signal.c parisc: remove unused variable 'compat_val' 2013-03-02 19:56:18 +01:00
smp.c parisc: Use generic idle loop 2013-04-08 17:39:27 +02:00
stacktrace.c parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT 2009-03-31 02:51:34 +00:00
sys32.h parisc: switch to generic compat rt_sigaction() 2013-02-03 18:16:07 -05:00
sys_parisc32.c get rid of union semop in sys_semctl(2) arguments 2013-03-05 15:14:16 -05:00
sys_parisc.c mm: use vm_unmapped_area() on parisc architecture 2013-02-27 19:10:09 -08:00
syscall_table.S get rid of union semop in sys_semctl(2) arguments 2013-03-05 15:14:16 -05:00
syscall.S parisc: document the parisc gateway page 2013-05-06 23:09:10 +02:00
time.c parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
topology.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
traps.c parisc: fix whitespace errors in arch/parisc/kernel/traps.c 2013-05-06 22:24:57 +02:00
unaligned.c arch/parisc: Removing undead ifdef CONFIG_PA20 2010-10-21 21:13:29 -04:00
unwind.c parisc: unwind - optimise linked-list searches for modules 2010-10-21 21:12:19 -04:00
vmlinux.lds.S parisc: add kernel stack overflow check 2013-05-07 21:34:07 +02:00