linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / mips / kernel / ptrace.c
index ceaf3e9..0d533ef 100644 (file)
@@ -248,20 +248,10 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
                        break;
                case FPC_EIR: { /* implementation / version register */
                        unsigned int flags;
-#ifdef CONFIG_MIPS_MT_SMTC
-                       unsigned int irqflags;
-                       unsigned int mtflags;
-#endif /* CONFIG_MIPS_MT_SMTC */
 
                        if (!cpu_has_fpu)
                                break;
 
-#ifdef CONFIG_MIPS_MT_SMTC
-                       /* Read-modify-write of Status must be atomic */
-                       local_irq_save(irqflags);
-                       mtflags = dmt();
-#endif /* CONFIG_MIPS_MT_SMTC */
-
                        preempt_disable();
                        if (cpu_has_mipsmt) {
                                unsigned int vpflags = dvpe();
@@ -276,10 +266,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
                                __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp));
                                write_c0_status(flags);
                        }
-#ifdef CONFIG_MIPS_MT_SMTC
-                       emt(mtflags);
-                       local_irq_restore(irqflags);
-#endif /* CONFIG_MIPS_MT_SMTC */
                        preempt_enable();
                        break;
                }
@@ -483,7 +469,7 @@ static inline int audit_arch(void)
 asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
 {
        if (unlikely(current->audit_context) && entryexit)
-               audit_syscall_exit(AUDITSC_RESULT(regs->regs[2]),
+               audit_syscall_exit(current, AUDITSC_RESULT(regs->regs[2]),
                                   regs->regs[2]);
 
        if (!(current->ptrace & PT_PTRACED))
@@ -509,7 +495,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
        }
  out:
        if (unlikely(current->audit_context) && !entryexit)
-               audit_syscall_entry(audit_arch(), regs->regs[2],
+               audit_syscall_entry(current, audit_arch(), regs->regs[2],
                                    regs->regs[4], regs->regs[5],
                                    regs->regs[6], regs->regs[7]);
 }