diff options
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/ptrace.h | 15 | 
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h index dcfde52979c..19f16ebaf4f 100644 --- a/arch/x86/include/asm/ptrace.h +++ b/arch/x86/include/asm/ptrace.h @@ -205,21 +205,14 @@ static inline bool user_64bit_mode(struct pt_regs *regs)  }  #endif -/* - * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode - * when it traps.  The previous stack will be directly underneath the saved - * registers, and 'sp/ss' won't even have been saved. Thus the '®s->sp'. - * - * This is valid only for kernel mode traps. - */ -static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) -{  #ifdef CONFIG_X86_32 -	return (unsigned long)(®s->sp); +extern unsigned long kernel_stack_pointer(struct pt_regs *regs);  #else +static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) +{  	return regs->sp; -#endif  } +#endif  #define GET_IP(regs) ((regs)->ip)  #define GET_FP(regs) ((regs)->bp)  |