aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/ptrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86/ptrace.h')
-rw-r--r--include/asm-x86/ptrace.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/asm-x86/ptrace.h b/include/asm-x86/ptrace.h
index bc442461ac64..e779f2b26b32 100644
--- a/include/asm-x86/ptrace.h
+++ b/include/asm-x86/ptrace.h
@@ -140,7 +140,8 @@ extern unsigned long
140convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs); 140convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs);
141 141
142#ifdef CONFIG_X86_32 142#ifdef CONFIG_X86_32
143extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code); 143extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
144 int error_code);
144#else 145#else
145void signal_fault(struct pt_regs *regs, void __user *frame, char *where); 146void signal_fault(struct pt_regs *regs, void __user *frame, char *where);
146#endif 147#endif
@@ -169,8 +170,8 @@ static inline int user_mode(struct pt_regs *regs)
169static inline int user_mode_vm(struct pt_regs *regs) 170static inline int user_mode_vm(struct pt_regs *regs)
170{ 171{
171#ifdef CONFIG_X86_32 172#ifdef CONFIG_X86_32
172 return ((regs->cs & SEGMENT_RPL_MASK) | 173 return ((regs->cs & SEGMENT_RPL_MASK) | (regs->flags & VM_MASK)) >=
173 (regs->flags & VM_MASK)) >= USER_RPL; 174 USER_RPL;
174#else 175#else
175 return user_mode(regs); 176 return user_mode(regs);
176#endif 177#endif