Commit 77f2878b4f78c0b29c4a2580665a446c77901152

Authored by Jan Blunck
Committed by Linus Torvalds
1 parent 35d5d08a08

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>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

include/asm-x86/ptrace.h
... ... @@ -60,7 +60,7 @@
60 60  
61 61 #define instruction_pointer(regs) ((regs)->eip)
62 62 #define frame_pointer(regs) ((regs)->ebp)
63   -#define stack_pointer(regs) ((regs)->esp)
  63 +#define stack_pointer(regs) ((unsigned long)(regs))
64 64 #define regs_return_value(regs) ((regs)->eax)
65 65  
66 66 extern unsigned long profile_pc(struct pt_regs *regs);