linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / sparc64 / kernel / ptrace.c
index ded4046..8293b81 100644 (file)
@@ -124,9 +124,6 @@ void flush_ptrace_access(struct vm_area_struct *vma, struct page *page,
 {
        BUG_ON(len > PAGE_SIZE);
 
-       if (tlb_type == hypervisor)
-               return;
-
 #ifdef DCACHE_ALIASING_POSSIBLE
        /* If bit 13 of the kernel address we used to access the
         * user page is the same as the virtual address that page
@@ -248,13 +245,6 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
        }
 
        switch(request) {
-       case PTRACE_PEEKUSR:
-               if (addr != 0)
-                       pt_error_return(regs, EIO);
-               else
-                       pt_succ_return(regs, 0);
-               goto out_tsk;
-
        case PTRACE_PEEKTEXT: /* read word at location addr. */ 
        case PTRACE_PEEKDATA: {
                unsigned long tmp64;
@@ -613,22 +603,6 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
 
        /* PTRACE_DUMPCORE unsupported... */
 
-       case PTRACE_GETEVENTMSG: {
-               int err;
-
-               if (test_thread_flag(TIF_32BIT))
-                       err = put_user(child->ptrace_message,
-                                      (unsigned int __user *) data);
-               else
-                       err = put_user(child->ptrace_message,
-                                      (unsigned long __user *) data);
-               if (err)
-                       pt_error_return(regs, -err);
-               else
-                       pt_succ_return(regs, 0);
-               break;
-       }
-
        default: {
                int err = ptrace_request(child, request, addr, data);
                if (err)
@@ -657,7 +631,7 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p)
                if (unlikely(tstate & (TSTATE_XCARRY | TSTATE_ICARRY)))
                        result = AUDITSC_FAILURE;
 
-               audit_syscall_exit(result, regs->u_regs[UREG_I0]);
+               audit_syscall_exit(current, result, regs->u_regs[UREG_I0]);
        }
 
        if (!(current->ptrace & PT_PTRACED))
@@ -681,7 +655,8 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p)
 
 out:
        if (unlikely(current->audit_context) && !syscall_exit_p)
-               audit_syscall_entry((test_thread_flag(TIF_32BIT) ?
+               audit_syscall_entry(current,
+                                   (test_thread_flag(TIF_32BIT) ?
                                     AUDIT_ARCH_SPARC :
                                     AUDIT_ARCH_SPARC64),
                                    regs->u_regs[UREG_G1],