diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-01-05 06:47:16 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:23 -0500 |
commit | 35f2aaa79a2d484c8449f34461464a1e84e36e2b (patch) | |
tree | b19cba41c1ce3c85a69fadb319c0c82e780f5620 /arch/s390 | |
parent | 6f9a3c330652b0fdb65d89e94977a8e79fe730e7 (diff) |
[S390] kprobes: single stepped breakpoint
Remove special case of a kprobe on a breakpoint while a relocated
instruction is single stepped. The only instruction that may cause
a fault while kprobe single stepping is active is the relocated
instruction. There is no kprobe on the instruction slot retrieved
with get_insn_slot().
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/kprobes.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c index 2564793ec2b..b8e51759b6e 100644 --- a/arch/s390/kernel/kprobes.c +++ b/arch/s390/kernel/kprobes.c | |||
@@ -273,12 +273,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
273 | if (kprobe_running()) { | 273 | if (kprobe_running()) { |
274 | p = get_kprobe(addr); | 274 | p = get_kprobe(addr); |
275 | if (p) { | 275 | if (p) { |
276 | if (kcb->kprobe_status == KPROBE_HIT_SS && | ||
277 | *p->ainsn.insn == BREAKPOINT_INSTRUCTION) { | ||
278 | regs->psw.mask &= ~PSW_MASK_PER; | ||
279 | regs->psw.mask |= kcb->kprobe_saved_imask; | ||
280 | goto no_kprobe; | ||
281 | } | ||
282 | /* We have reentered the kprobe_handler(), since | 276 | /* We have reentered the kprobe_handler(), since |
283 | * another probe was hit while within the handler. | 277 | * another probe was hit while within the handler. |
284 | * We here save the original kprobes variables and | 278 | * We here save the original kprobes variables and |