SCHED_STACK_END_CHECK assumes stack grows in one direction. ia64 is a rare case where it is not. As a result kernel fails at startup as: Kernel panic - not syncing: corrupted stack end detected inside scheduler The error does not find a real problem: it's register backing store is written on top of canary value. Disable SCHED_STACK_END_CHECK on ia64 as there is no good place for canary without moving initial stack address. CC: Tony Luck <tony.luck@xxxxxxxxx> CC: Fenghua Yu <fenghua.yu@xxxxxxxxx> CC: linux-ia64@xxxxxxxxxxxxxxx CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Sergei Trofimovich <slyfox@xxxxxxxxxx> --- lib/Kconfig.debug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 4966c4fbe7f7..a097dfe38d2b 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1004,7 +1004,7 @@ config SCHEDSTATS config SCHED_STACK_END_CHECK bool "Detect stack corruption on calls to schedule()" - depends on DEBUG_KERNEL + depends on DEBUG_KERNEL && !IA64 default n help This option checks for a stack overrun on calls to schedule(). -- 2.19.0
![]() |