On Thu, Sep 13, 2012 at 12:43 PM, Geert Uytterhoeven <[email protected]> wrote: > On Tue, Aug 7, 2012 at 2:40 AM, Kees Cook <[email protected]> wrote: >> This replaces the #defines used when CONFIG_AUDIT or CONFIG_AUDIT_SYSCALLS >> are disabled so we get type checking during those builds. >> >> Suggested-by: Andrew Morton <[email protected]> >> Signed-off-by: Kees Cook <[email protected]> > > JFYI, the change > > -#define audit_syscall_entry(ta,a,b,c,d,e) do { ; } while (0) > +static inline void audit_syscall_entry(int arch, int major, unsigned long a0, > + unsigned long a1, unsigned long a2, > + unsigned long a3) > +{ } > > uncovers a bug on OpenRISC. > > Before, > > audit_syscall_entry(audit_arch(), regs->gpr[11], > regs->gpr[3], regs->gpr[4], > regs->gpr[5], regs->gpr[6]); > > just expanded to nothing if CONFIG_AUDITSYSCALL was not set. > Now, it fails to compile with: > > arch/openrisc/kernel/ptrace.c:190:2: error: implicit declaration of > function 'audit_arch' > http://kisskb.ellerman.id.au/kisskb/buildresult/7191698/
Thanks for catching this! It looks like audit.h is missing AUDIT_ARCH_OPENRISC entirely, and that openrisc doesn't need an audit_arch() function at all. It could use AUDIT_ARCH_OPENRISC once that existed, which would just be EM_OPENRISC. (It looks like little endian mode isn't used.) I'll send a patch... -Kees -- Kees Cook Chrome OS Security _______________________________________________ Linux mailing list [email protected] http://lists.openrisc.net/listinfo/linux
