Patch 2/3: Make i386 arch use security_audit_syscall. ===================================================== diff -ru linux-2.6.9-security_audit_syscall/arch/i386/kernel/ptrace.c linux-2.6.9-security_audit_syscall-x86/arch/i386/kernel/ptrace.c --- linux-2.6.9-security_audit_syscall/arch/i386/kernel/ptrace.c 2004-10-18 14:53:45.000000000 -0700 +++ linux-2.6.9-security_audit_syscall-x86/arch/i386/kernel/ptrace.c 2004-12-02 21:13:37.000000000 -0800 @@ -15,6 +15,7 @@ #include <linux/user.h> #include <linux/security.h> #include <linux/audit.h> +#include <linux/module.h> #include <asm/uaccess.h> #include <asm/pgtable.h> @@ -524,23 +525,31 @@ return ret; } -/* notification of system call entry/exit - * - triggered by current->work.syscall_trace - */ -__attribute__((regparm(3))) -void do_syscall_trace(struct pt_regs *regs, int entryexit) +void audit_syscall(struct task_struct *p, void *_regs, int entryexit) { - if (unlikely(current->audit_context)) { + if (unlikely(p->audit_context)) { + struct pt_regs __attribute__((__unused__)) *regs = _regs; if (!entryexit) - audit_syscall_entry(current, regs->orig_eax, + audit_syscall_entry(p, regs->orig_eax, regs->ebx, regs->ecx, regs->edx, regs->esi); else - audit_syscall_exit(current, regs->eax); + audit_syscall_exit(p, regs->eax); } +} + +EXPORT_SYMBOL_GPL(audit_syscall); +/* notification of system call entry/exit + * - triggered by current->work.syscall_trace + */ +__attribute__((regparm(3))) +void do_syscall_trace(struct pt_regs *regs, int entryexit) +{ + if (unlikely(test_thread_flag(TIF_SYSCALL_AUDIT))) + security_audit_syscall(current, regs, entryexit); if (!test_thread_flag(TIF_SYSCALL_TRACE) && - !test_thread_flag(TIF_SINGLESTEP)) + !test_thread_flag(TIF_SINGLESTEP)) return; if (!(current->ptrace & PT_PTRACED)) return; @@ -559,3 +568,4 @@ current->exit_code = 0; } } + diff -ru linux-2.6.9-security_audit_syscall/include/asm-i386/ptrace.h linux-2.6.9-security_audit_syscall-x86/include/asm-i386/ptrace.h --- linux-2.6.9-security_audit_syscall/include/asm-i386/ptrace.h 2004-10-18 14:53:11.000000000 -0700 +++ linux-2.6.9-security_audit_syscall-x86/include/asm-i386/ptrace.h 2004-12-02 21:11:25.000000000 -0800 @@ -64,4 +64,7 @@ #endif #endif +void audit_syscall(struct task_struct *p, void *regs, int entryexit); +#define ARCH_HAVE_AUDIT_SYSCALL + #endif
This archive was generated by hypermail 2.1.3 : Mon Dec 06 2004 - 16:16:48 PST