aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/kernel/ptrace.c50
-rw-r--r--arch/m32r/kernel/time.c8
-rw-r--r--arch/m32r/mm/fault.c2
3 files changed, 10 insertions, 50 deletions
diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c
index 62a51429306e..ed4d0756c5db 100644
--- a/arch/m32r/kernel/ptrace.c
+++ b/arch/m32r/kernel/ptrace.c
@@ -570,7 +570,7 @@ withdraw_debug_trap(struct pt_regs *regs)
570 } 570 }
571} 571}
572 572
573static void 573void
574init_debug_traps(struct task_struct *child) 574init_debug_traps(struct task_struct *child)
575{ 575{
576 struct debug_trap *p = &child->thread.debug_trap; 576 struct debug_trap *p = &child->thread.debug_trap;
@@ -593,8 +593,8 @@ void ptrace_disable(struct task_struct *child)
593 /* nothing to do.. */ 593 /* nothing to do.. */
594} 594}
595 595
596static int 596long
597do_ptrace(long request, struct task_struct *child, long addr, long data) 597arch_ptrace(struct task_struct *child, long request, long addr, long data)
598{ 598{
599 int ret; 599 int ret;
600 600
@@ -704,14 +704,6 @@ do_ptrace(long request, struct task_struct *child, long addr, long data)
704 break; 704 break;
705 } 705 }
706 706
707 /*
708 * detach a process that was attached.
709 */
710 case PTRACE_DETACH:
711 ret = 0;
712 ret = ptrace_detach(child, data);
713 break;
714
715 case PTRACE_GETREGS: 707 case PTRACE_GETREGS:
716 ret = ptrace_getregs(child, (void __user *)data); 708 ret = ptrace_getregs(child, (void __user *)data);
717 break; 709 break;
@@ -728,42 +720,6 @@ do_ptrace(long request, struct task_struct *child, long addr, long data)
728 return ret; 720 return ret;
729} 721}
730 722
731asmlinkage long sys_ptrace(long request, long pid, long addr, long data)
732{
733 struct task_struct *child;
734 int ret;
735
736 lock_kernel();
737 if (request == PTRACE_TRACEME) {
738 ret = ptrace_traceme();
739 goto out;
740 }
741
742 child = ptrace_get_task_struct(pid);
743 if (IS_ERR(child)) {
744 ret = PTR_ERR(child);
745 goto out;
746 }
747
748 if (request == PTRACE_ATTACH) {
749 ret = ptrace_attach(child);
750 if (ret == 0)
751 init_debug_traps(child);
752 goto out_tsk;
753 }
754
755 ret = ptrace_check_attach(child, request == PTRACE_KILL);
756 if (ret == 0)
757 ret = do_ptrace(request, child, addr, data);
758
759out_tsk:
760 put_task_struct(child);
761out:
762 unlock_kernel();
763
764 return ret;
765}
766
767/* notification of system call entry/exit 723/* notification of system call entry/exit
768 * - triggered by current->work.syscall_trace 724 * - triggered by current->work.syscall_trace
769 */ 725 */
diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c
index 3858c9f39ba5..994cc1556355 100644
--- a/arch/m32r/kernel/time.c
+++ b/arch/m32r/kernel/time.c
@@ -228,8 +228,12 @@ irqreturn_t timer_interrupt(int irq, void *dev_id)
228 return IRQ_HANDLED; 228 return IRQ_HANDLED;
229} 229}
230 230
231struct irqaction irq0 = { timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, 231struct irqaction irq0 = {
232 "MFT2", NULL, NULL }; 232 .handler = timer_interrupt,
233 .flags = IRQF_DISABLED,
234 .mask = CPU_MASK_NONE,
235 .name = "MFT2",
236};
233 237
234void __init time_init(void) 238void __init time_init(void)
235{ 239{
diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c
index 676a1c443d28..70a766aad3e0 100644
--- a/arch/m32r/mm/fault.c
+++ b/arch/m32r/mm/fault.c
@@ -278,7 +278,7 @@ out_of_memory:
278 } 278 }
279 printk("VM: killing process %s\n", tsk->comm); 279 printk("VM: killing process %s\n", tsk->comm);
280 if (error_code & ACE_USERMODE) 280 if (error_code & ACE_USERMODE)
281 do_exit(SIGKILL); 281 do_group_exit(SIGKILL);
282 goto no_context; 282 goto no_context;
283 283
284do_sigbus: 284do_sigbus: