diff options
Diffstat (limited to 'arch/m32r/kernel/ptrace.c')
| -rw-r--r-- | arch/m32r/kernel/ptrace.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c index e555091eb97c..0021ade4cba8 100644 --- a/arch/m32r/kernel/ptrace.c +++ b/arch/m32r/kernel/ptrace.c | |||
| @@ -592,16 +592,17 @@ void user_enable_single_step(struct task_struct *child) | |||
| 592 | 592 | ||
| 593 | if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0) | 593 | if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0) |
| 594 | != sizeof(insn)) | 594 | != sizeof(insn)) |
| 595 | break; | 595 | return -EIO; |
| 596 | 596 | ||
| 597 | compute_next_pc(insn, pc, &next_pc, child); | 597 | compute_next_pc(insn, pc, &next_pc, child); |
| 598 | if (next_pc & 0x80000000) | 598 | if (next_pc & 0x80000000) |
| 599 | break; | 599 | return -EIO; |
| 600 | 600 | ||
| 601 | if (embed_debug_trap(child, next_pc)) | 601 | if (embed_debug_trap(child, next_pc)) |
| 602 | break; | 602 | return -EIO; |
| 603 | 603 | ||
| 604 | invalidate_cache(); | 604 | invalidate_cache(); |
| 605 | return 0; | ||
| 605 | } | 606 | } |
| 606 | 607 | ||
| 607 | void user_disable_single_step(struct task_struct *child) | 608 | void user_disable_single_step(struct task_struct *child) |
