aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kernel.h
diff options
context:
space:
mode:
authorMitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>2011-11-29 01:08:36 -0500
committerIngo Molnar <mingo@elte.hu>2011-12-05 05:37:47 -0500
commit55af77969fbd7a841838220ea2287432e0da8ae5 (patch)
treef5f819e160799fb0477ec33c06aa8d022466687d /include/linux/kernel.h
parent37fe6a42b3433b79a159ceb06a94cd1ef00e279d (diff)
x86: Panic on detection of stack overflow
Currently, messages are just output on the detection of stack overflow, which is not sufficient for systems that need a high reliability. This is because in general the overflow may corrupt data, and the additional corruption may occur due to reading them unless systems stop. This patch adds the sysctl parameter kernel.panic_on_stackoverflow and causes a panic when detecting the overflows of kernel, IRQ and exception stacks except user stack according to the parameter. It is disabled by default. Signed-off-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com> Cc: yrl.pp-manager.tt@hitachi.com Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: "H. Peter Anvin" <hpa@zytor.com> Link: http://lkml.kernel.org/r/20111129060836.11076.12323.stgit@ltc219.sdl.hitachi.co.jp Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r--include/linux/kernel.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index e8b1597b5cf2..ff83683c0b9d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -341,6 +341,7 @@ extern int panic_timeout;
341extern int panic_on_oops; 341extern int panic_on_oops;
342extern int panic_on_unrecovered_nmi; 342extern int panic_on_unrecovered_nmi;
343extern int panic_on_io_nmi; 343extern int panic_on_io_nmi;
344extern int sysctl_panic_on_stackoverflow;
344extern const char *print_tainted(void); 345extern const char *print_tainted(void);
345extern void add_taint(unsigned flag); 346extern void add_taint(unsigned flag);
346extern int test_taint(unsigned flag); 347extern int test_taint(unsigned flag);