From 7823bf4563c87ef5efe6e95ef3146ede1ebbd3d2 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Tue, 3 May 2005 07:54:51 +0100 Subject: [PATCH] --- yaml --- r: 593 b: refs/heads/master c: 79d20b14a0d651f15b0ef9a22b6cf12d284a6d38 h: refs/heads/master i: 591: 5e11813d3cd397c0b92eaf9ef7d4babf68630f2d v: v3 --- [refs] | 2 +- trunk/arch/um/kernel/ptrace.c | 21 ++++++++++++--------- trunk/include/asm-um/ptrace-i386.h | 2 ++ trunk/include/asm-um/ptrace-x86_64.h | 2 ++ trunk/include/asm-um/thread_info.h | 4 +++- trunk/init/Kconfig | 2 +- 6 files changed, 21 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 332df71f9823..8b683ac52d2d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 54e0f520e7d94b865e0f5465db976dcc5ffe7190 +refs/heads/master: 79d20b14a0d651f15b0ef9a22b6cf12d284a6d38 diff --git a/trunk/arch/um/kernel/ptrace.c b/trunk/arch/um/kernel/ptrace.c index 3a99ee6d94eb..7b259a22447e 100644 --- a/trunk/arch/um/kernel/ptrace.c +++ b/trunk/arch/um/kernel/ptrace.c @@ -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(®s->regs), - UPT_SYSCALL_ARG1(®s->regs), - UPT_SYSCALL_ARG2(®s->regs), - UPT_SYSCALL_ARG3(®s->regs), - UPT_SYSCALL_ARG4(®s->regs)); - else - audit_syscall_exit(current, - UPT_SYSCALL_RET(®s->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 */ diff --git a/trunk/include/asm-um/ptrace-i386.h b/trunk/include/asm-um/ptrace-i386.h index 9e47590ec293..04222f35c43e 100644 --- a/trunk/include/asm-um/ptrace-i386.h +++ b/trunk/include/asm-um/ptrace-i386.h @@ -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" diff --git a/trunk/include/asm-um/ptrace-x86_64.h b/trunk/include/asm-um/ptrace-x86_64.h index c34be39b78b2..be51219a8ffe 100644 --- a/trunk/include/asm-um/ptrace-x86_64.h +++ b/trunk/include/asm-um/ptrace-x86_64.h @@ -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)) diff --git a/trunk/include/asm-um/thread_info.h b/trunk/include/asm-um/thread_info.h index bffb577bc54e..a10ea155907e 100644 --- a/trunk/include/asm-um/thread_info.h +++ b/trunk/include/asm-um/thread_info.h @@ -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 diff --git a/trunk/init/Kconfig b/trunk/init/Kconfig index abe2682a6ca6..338d82aeda67 100644 --- a/trunk/init/Kconfig +++ b/trunk/init/Kconfig @@ -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