summaryrefslogtreecommitdiff
path: root/arch/avr32/kernel/asm-offsets.c
diff options
context:
space:
mode:
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-08-20 13:46:24 (GMT)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-09-01 11:04:04 (GMT)
commit9e3f544d792fd2ff7e31ca4a72e5194f1491ed14 (patch)
tree706d3f133b930e0085df63fcc171f4f49c9cd1db /arch/avr32/kernel/asm-offsets.c
parentbef69ea0dcce574a425feb0a5aa4c63dd108b9a6 (diff)
downloadlinux-9e3f544d792fd2ff7e31ca4a72e5194f1491ed14.tar.xz
avr32: Fix lockup after Java stack underflow in user mode
When using the Java Extension Module hardware, a Java stack underflow or overflow trap may cause the system to enter an infinite exception loop. Although there's no kernel support for the Java hardware yet, we need to be able to recover from this situation and keep the system running. This patch adds code to detect and fixup this situation in the critical exception handler and terminate the faulting process. We may have to rethink how to handle this more gracefully when the necessary kernel support for hardware-accelerated Java is added. Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/kernel/asm-offsets.c')
-rw-r--r--arch/avr32/kernel/asm-offsets.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/avr32/kernel/asm-offsets.c b/arch/avr32/kernel/asm-offsets.c
index e4796c6..d6a8193 100644
--- a/arch/avr32/kernel/asm-offsets.c
+++ b/arch/avr32/kernel/asm-offsets.c
@@ -4,6 +4,8 @@
* to extract and format the required data.
*/
+#include <linux/mm.h>
+#include <linux/sched.h>
#include <linux/thread_info.h>
#include <linux/kbuild.h>
@@ -17,4 +19,8 @@ void foo(void)
OFFSET(TI_rar_saved, thread_info, rar_saved);
OFFSET(TI_rsr_saved, thread_info, rsr_saved);
OFFSET(TI_restart_block, thread_info, restart_block);
+ BLANK();
+ OFFSET(TSK_active_mm, task_struct, active_mm);
+ BLANK();
+ OFFSET(MM_pgd, mm_struct, pgd);
}