diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-10-12 14:09:07 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-10-12 14:19:34 -0700 |
commit | def3c5d0a34e4b09b3cea4435c17209ad347104d (patch) | |
tree | f9a38b4908dc05a1a5c33a351cd821c0c49adad3 /arch | |
parent | d93a8f829fe1d2f3002f2c6ddb553d12db420412 (diff) | |
download | op-kernel-dev-def3c5d0a34e4b09b3cea4435c17209ad347104d.zip op-kernel-dev-def3c5d0a34e4b09b3cea4435c17209ad347104d.tar.gz |
x86: use kernel_stack_pointer() in process_32.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.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/process_32.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 4cf7956..35e6fad 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -134,7 +134,7 @@ void __show_regs(struct pt_regs *regs, int all) ss = regs->ss & 0xffff; gs = get_user_gs(regs); } else { - sp = (unsigned long) (®s->sp); + sp = kernel_stack_pointer(regs); savesegment(ss, ss); savesegment(gs, gs); } |