x86: use kernel_stack_pointer() in dumpstack.c
authorH. Peter Anvin <hpa@zytor.com>
Mon, 12 Oct 2009 21:11:09 +0000 (14:11 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 12 Oct 2009 21:19:34 +0000 (14:19 -0700)
commita343c75d338aa2afaea4a2a8e40de9e67b6fb4a7
tree1c6f6f764e01048a9d6b6155ce2cc23c92cad4be
parentdef3c5d0a34e4b09b3cea4435c17209ad347104d
x86: use kernel_stack_pointer() in dumpstack.c

The way to obtain a kernel-mode stack pointer from a struct pt_regs in
32-bit mode is "subtle": the stack doesn't actually contain the stack
pointer, but rather the location where it would have been marks the
actual previous stack frame.  For clarity, use kernel_stack_pointer()
instead of coding this weirdness explicitly.

Furthermore, user_mode() is only valid when the process is known to
not run in V86 mode.  Use the safer user_mode_vm() instead.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/dumpstack.c