Fix tasteless #ifdef mess in audit_arch(), minor cleanups.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 19 May 2005 12:08:04 +0000 (12:08 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:31:16 +0000 (19:31 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/ptrace.c

index 649c90dee38eb9bd3c0f13c885d36e68247ec44f..49821ee189843860c7b6cb29f5d500ad6a454a47 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/security.h>
 #include <linux/signal.h>
 
+#include <asm/byteorder.h>
 #include <asm/cpu.h>
 #include <asm/fpu.h>
 #include <asm/mipsregs.h>
@@ -308,21 +309,14 @@ out:
 
 static inline int audit_arch(void)
 {
-#ifdef CONFIG_CPU_LITTLE_ENDIAN
+       int arch = EM_MIPS;
 #ifdef CONFIG_64BIT
-       if (!(current->thread.mflags & MF_32BIT_REGS))
-               return AUDIT_ARCH_MIPSEL64;
-#endif /* MIPS64 */
-       return AUDIT_ARCH_MIPSEL;
-
-#else /* big endian... */
-#ifdef CONFIG_64BIT
-       if (!(current->thread.mflags & MF_32BIT_REGS))
-               return AUDIT_ARCH_MIPS64;
-#endif /* MIPS64 */
-       return AUDIT_ARCH_MIPS;
-
-#endif /* endian */
+       arch |=  __AUDIT_ARCH_64BIT;
+#endif
+#if defined(__LITTLE_ENDIAN)
+       arch |=  __AUDIT_ARCH_LE;
+#endif
+       return arch;
 }
 
 /*
@@ -332,12 +326,13 @@ 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(current, AUDITSC_RESULT(regs->regs[2]), regs->regs[2]);
+               audit_syscall_exit(current, AUDITSC_RESULT(regs->regs[2]),
+                                  regs->regs[2]);
 
-       if (!test_thread_flag(TIF_SYSCALL_TRACE))
-               goto out;
        if (!(current->ptrace & PT_PTRACED))
                goto out;
+       if (!test_thread_flag(TIF_SYSCALL_TRACE))
+               goto out;
 
        /* The 0x80 provides a way for the tracing parent to distinguish
           between a syscall stop and SIGTRAP delivery */