[AUDIT] Update UML audit-syscall-{entry,exit} calls to new prototypes
Jeff Dike [Tue, 3 May 2005 06:54:51 +0000 (07:54 +0100)]
This patch is for -mm only.  It should probably be included in git-audit,
and should be forwarded to Linus iff git-audit is.

It updates the audit-syscall-{entry,exit} calls to current -mm.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>

arch/um/kernel/ptrace.c
include/asm-um/ptrace-i386.h
include/asm-um/ptrace-x86_64.h
include/asm-um/thread_info.h
init/Kconfig

index 3a99ee6..7b259a2 100644 (file)
@@ -337,15 +337,18 @@ void syscall_trace(union uml_pt_regs *regs, int entryexit)
 
        if (unlikely(current->audit_context)) {
                if (!entryexit)
-                       audit_syscall_entry(current, 
-                                           UPT_SYSCALL_NR(&regs->regs),
-                                           UPT_SYSCALL_ARG1(&regs->regs),
-                                           UPT_SYSCALL_ARG2(&regs->regs),
-                                           UPT_SYSCALL_ARG3(&regs->regs),
-                                           UPT_SYSCALL_ARG4(&regs->regs));
-               else
-                       audit_syscall_exit(current, 
-                                          UPT_SYSCALL_RET(&regs->regs));
+                       audit_syscall_entry(current,
+                                            HOST_AUDIT_ARCH,
+                                           UPT_SYSCALL_NR(regs),
+                                           UPT_SYSCALL_ARG1(regs),
+                                           UPT_SYSCALL_ARG2(regs),
+                                           UPT_SYSCALL_ARG3(regs),
+                                           UPT_SYSCALL_ARG4(regs));
+               else {
+                        int res = UPT_SYSCALL_RET(regs);
+                       audit_syscall_exit(current, AUDITSC_RESULT(res),
+                                           res);
+                }
        }
 
        /* Fake a debug trap */
index 9e47590..04222f3 100644 (file)
@@ -6,6 +6,8 @@
 #ifndef __UM_PTRACE_I386_H
 #define __UM_PTRACE_I386_H
 
+#define HOST_AUDIT_ARCH AUDIT_ARCH_I386
+
 #include "sysdep/ptrace.h"
 #include "asm/ptrace-generic.h"
 
index c34be39..be51219 100644 (file)
@@ -14,6 +14,8 @@
 #include "asm/ptrace-generic.h"
 #undef signal_fault
 
+#define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
+
 void signal_fault(struct pt_regs_subarch *regs, void *frame, char *where);
 
 #define FS_BASE (21 * sizeof(unsigned long))
index bffb577..a10ea15 100644 (file)
@@ -72,12 +72,14 @@ static inline struct thread_info *current_thread_info(void)
                                         */
 #define TIF_RESTART_BLOCK      4
 #define TIF_MEMDIE             5
+#define TIF_SYSCALL_AUDIT      6
 
 #define _TIF_SYSCALL_TRACE     (1 << TIF_SYSCALL_TRACE)
 #define _TIF_SIGPENDING                (1 << TIF_SIGPENDING)
 #define _TIF_NEED_RESCHED      (1 << TIF_NEED_RESCHED)
 #define _TIF_POLLING_NRFLAG     (1 << TIF_POLLING_NRFLAG)
-#define _TIF_RESTART_BLOCK     (1 << TIF_RESTART_BLOCK)
+#define _TIF_MEMDIE            (1 << TIF_MEMDIE)
+#define _TIF_SYSCALL_AUDIT     (1 << TIF_SYSCALL_AUDIT)
 
 #endif
 
index abe2682..338d82a 100644 (file)
@@ -173,7 +173,7 @@ config AUDIT
 
 config AUDITSYSCALL
        bool "Enable system-call auditing support"
-       depends on AUDIT && (X86 || PPC64 || ARCH_S390 || IA64)
+       depends on AUDIT && (X86 || PPC64 || ARCH_S390 || IA64 || UML)
        default y if SECURITY_SELINUX
        help
          Enable low-overhead system-call auditing infrastructure that