x86/traps: Enable DEBUG_STACK after cpu_init() for TRAP_DB/BP
authorWang Nan <wangnan0@huawei.com>
Thu, 26 Feb 2015 05:49:39 +0000 (13:49 +0800)
committerIngo Molnar <mingo@kernel.org>
Thu, 26 Feb 2015 11:29:20 +0000 (12:29 +0100)
commitb4d8327024637cb2a1f7910dcb5d0ad7a096f473
treeb30d44827832f18834a3abbc8ecb0cc3e53ab168
parent72c6fb4f74b6b3797f5b1abd6944d7a1d2adbf04
x86/traps: Enable DEBUG_STACK after cpu_init() for TRAP_DB/BP

Before this patch early_trap_init() installs DEBUG_STACK for
X86_TRAP_BP and X86_TRAP_DB. However, DEBUG_STACK doesn't work
correctly until cpu_init() <-- trap_init().

This patch passes 0 to set_intr_gate_ist() and
set_system_intr_gate_ist() instead of DEBUG_STACK to let it use
same stack as kernel, and installs DEBUG_STACK for them in
trap_init().

As core runs at ring 0 between early_trap_init() and
trap_init(), there is no chance to get a bad stack before
trap_init().

As NMI is also enabled in trap_init(), we don't need to care
about is_debug_stack() and related things used in
arch/x86/kernel/nmi.c.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: <dave.hansen@linux.intel.com>
Cc: <lizefan@huawei.com>
Cc: <luto@amacapital.net>
Cc: <oleg@redhat.com>
Link: http://lkml.kernel.org/r/1424929779-13174-1-git-send-email-wangnan0@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/traps.c