summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDave Hansen <dave@linux.vnet.ibm.com>2013-07-01 13:04:42 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-04 11:25:39 -0700
commitd1a1dc0be866219f7a613c6368c6a036b8eefe03 (patch)
tree3e82bc03670f24e26cb340278e6bc2abd8f7f54b /lib
parent8bb495e3f02401ee6f76d1b1d77f3ac9f079e376 (diff)
downloadlwn-d1a1dc0be866219f7a613c6368c6a036b8eefe03.tar.gz
lwn-d1a1dc0be866219f7a613c6368c6a036b8eefe03.zip
consolidate per-arch stack overflow debugging options
Original posting: http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com Several architectures have similar stack debugging config options. They all pretty much do the same thing, some with slightly differing help text. This patch changes the architectures to instead enable a Kconfig boolean, and then use that boolean in the generic Kconfig.debug to present the actual menu option. This removes a bunch of duplication and adds consistency across arches. Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com> Reviewed-by: H. Peter Anvin <hpa@zytor.com> Reviewed-by: James Hogan <james.hogan@imgtec.com> Acked-by: Chris Metcalf <cmetcalf@tilera.com> [for tile] Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 566cf2bc08ea..cc443bc6edfc 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1475,6 +1475,27 @@ config ASYNC_RAID6_TEST
If unsure, say N.
+config HAVE_DEBUG_STACKOVERFLOW
+ bool
+
+config DEBUG_STACKOVERFLOW
+ bool "Check for stack overflows"
+ depends on DEBUG_KERNEL && HAVE_DEBUG_STACKOVERFLOW
+ ---help---
+ Say Y here if you want to check for overflows of kernel, IRQ
+ and exception stacks (if your archicture uses them). This
+ option will show detailed messages if free stack space drops
+ below a certain limit.
+
+ These kinds of bugs usually occur when call-chains in the
+ kernel get too deep, especially when interrupts are
+ involved.
+
+ Use this in cases where you see apparently random memory
+ corruption, especially if it appears in 'struct thread_info'
+
+ If in doubt, say "N".
+
source "samples/Kconfig"
source "lib/Kconfig.kgdb"