diff options
Diffstat (limited to 'arch/sparc64/kernel/ptrace.c')
-rw-r--r-- | arch/sparc64/kernel/ptrace.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c index 1722dc51b0d8..08bac537262a 100644 --- a/arch/sparc64/kernel/ptrace.c +++ b/arch/sparc64/kernel/ptrace.c | |||
@@ -514,25 +514,6 @@ asmlinkage void do_ptrace(struct pt_regs *regs) | |||
514 | pt_error_return(regs, EIO); | 514 | pt_error_return(regs, EIO); |
515 | goto out_tsk; | 515 | goto out_tsk; |
516 | } | 516 | } |
517 | if (addr != 1) { | ||
518 | unsigned long pc_mask = ~0UL; | ||
519 | |||
520 | if ((child->thread_info->flags & _TIF_32BIT) != 0) | ||
521 | pc_mask = 0xffffffff; | ||
522 | |||
523 | if (addr & 3) { | ||
524 | pt_error_return(regs, EINVAL); | ||
525 | goto out_tsk; | ||
526 | } | ||
527 | #ifdef DEBUG_PTRACE | ||
528 | printk ("Original: %016lx %016lx\n", | ||
529 | child->thread_info->kregs->tpc, | ||
530 | child->thread_info->kregs->tnpc); | ||
531 | printk ("Continuing with %016lx %016lx\n", addr, addr+4); | ||
532 | #endif | ||
533 | child->thread_info->kregs->tpc = (addr & pc_mask); | ||
534 | child->thread_info->kregs->tnpc = ((addr + 4) & pc_mask); | ||
535 | } | ||
536 | 517 | ||
537 | if (request == PTRACE_SYSCALL) { | 518 | if (request == PTRACE_SYSCALL) { |
538 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | 519 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); |