debug: Do not permit CONFIG_DEBUG_STACK_USAGE=y on IA64 or PARISC
authorTony Luck <tony.luck@intel.com>
Wed, 18 Jul 2012 17:35:05 +0000 (10:35 -0700)
committerTony Luck <tony.luck@intel.com>
Thu, 19 Jul 2012 17:36:45 +0000 (10:36 -0700)
The stack_not_used() function in <linux/sched.h> assumes that stacks
grow downwards. This is not true on IA64 or PARISC, so this function
would walk off in the wrong direction and into the weeds.

Found on IA64 because of a compilation failure with recursive dependencies
on IA64_TASKSIZE and IA64_THREAD_INFO_SIZE.

Fixing the code is possible, but should be combined with other
infrastructure additions to set up the "canary" at the end of the stack.

Reported-by: Fengguang Wu <fengguang.wu@intel.com> (failed allmodconfig build)
Signed-off-by: Tony Luck <tony.luck@intel.com>
lib/Kconfig.debug

index a42d3ae..5d3e328 100644 (file)
@@ -694,7 +694,7 @@ config STACKTRACE
 
 config DEBUG_STACK_USAGE
        bool "Stack utilization instrumentation"
-       depends on DEBUG_KERNEL
+       depends on DEBUG_KERNEL && !IA64 && !PARISC
        help
          Enables the display of the minimum amount of free stack which each
          task has ever had available in the sysrq-T and sysrq-P debug output.