diff options
| -rw-r--r-- | arch/x86/kernel/kprobes/core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 7596df664901..67e6d19ef1be 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c | |||
| @@ -574,6 +574,9 @@ int kprobe_int3_handler(struct pt_regs *regs) | |||
| 574 | struct kprobe *p; | 574 | struct kprobe *p; |
| 575 | struct kprobe_ctlblk *kcb; | 575 | struct kprobe_ctlblk *kcb; |
| 576 | 576 | ||
| 577 | if (user_mode_vm(regs)) | ||
| 578 | return 0; | ||
| 579 | |||
| 577 | addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); | 580 | addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); |
| 578 | /* | 581 | /* |
| 579 | * We don't want to be preempted for the entire | 582 | * We don't want to be preempted for the entire |
