diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-10-12 23:09:07 +0200 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-10-12 23:19:34 +0200 |
commit | def3c5d0a34e4b09b3cea4435c17209ad347104d (patch) | |
tree | f9a38b4908dc05a1a5c33a351cd821c0c49adad3 /arch/x86/kernel/process_32.c | |
parent | Revert "USB: Work around BIOS bugs by quiescing USB controllers earlier" (diff) | |
download | linux-def3c5d0a34e4b09b3cea4435c17209ad347104d.tar.xz linux-def3c5d0a34e4b09b3cea4435c17209ad347104d.zip |
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/x86/kernel/process_32.c')
-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 4cf79567cdab..35e6fad73e0d 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); } |