summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJan Blunck <jblunck@suse.de>2007-11-14 17:00:42 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-14 18:45:44 -0800
commit77f2878b4f78c0b29c4a2580665a446c77901152 (patch)
tree2a2d4171c9cce7c6b7f0bed410175c571157fda7 /include
parent35d5d08a085c56f153458c3f5d8ce24123617faf (diff)
oprofile: fix oops on x86 32-bit
x86 32-bit isn't saving the stack pointer to pt_regs->esp when an interrupt occurs. Signed-off-by: Jan Blunck <jblunck@suse.de> Tested-by: Robert Fitzsimons <robfitz@273k.net> Cc: Andi Kleen <ak@suse.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Philippe Elie <phil.el@wanadoo.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/ptrace.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-x86/ptrace.h b/include/asm-x86/ptrace.h
index 213c97300cb3..51ddb2590870 100644
--- a/include/asm-x86/ptrace.h
+++ b/include/asm-x86/ptrace.h
@@ -60,7 +60,7 @@ static inline int v8086_mode(struct pt_regs *regs)
#define instruction_pointer(regs) ((regs)->eip)
#define frame_pointer(regs) ((regs)->ebp)
-#define stack_pointer(regs) ((regs)->esp)
+#define stack_pointer(regs) ((unsigned long)(regs))
#define regs_return_value(regs) ((regs)->eax)
extern unsigned long profile_pc(struct pt_regs *regs);