[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150304070940.GB16479@gmail.com>
Date: Wed, 4 Mar 2015 08:09:40 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Brian Gerst <brgerst@...il.com>
Cc: the arch/x86 maintainers <x86@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"H. Peter Anvin" <hpa@...or.com>, drysdale@...gle.com
Subject: Re: [PATCH 4/5] x86: Use generic compat audit code
* Brian Gerst <brgerst@...il.com> wrote:
> On Wed, Mar 4, 2015 at 12:14 AM, Ingo Molnar <mingo@...nel.org> wrote:
> >
> > * Brian Gerst <brgerst@...il.com> wrote:
> >
> >> Use the generic compat syscall audit code instead of an x86 specific
> >> implementation.
> >>
> >> Signed-off-by: Brian Gerst <brgerst@...il.com>
> >> ---
> >> arch/x86/Kconfig | 5 +--
> >> arch/x86/ia32/Makefile | 3 --
> >> arch/x86/ia32/audit.c | 43 ---------------------
> >> arch/x86/include/asm/unistd32.h | 2 +
> >> arch/x86/kernel/Makefile | 2 -
> >> arch/x86/kernel/audit_64.c | 82 -----------------------------------------
> >> 6 files changed, 3 insertions(+), 134 deletions(-)
> >> delete mode 100644 arch/x86/ia32/audit.c
> >> create mode 100644 arch/x86/include/asm/unistd32.h
> >> delete mode 100644 arch/x86/kernel/audit_64.c
> >
> > Nice!
> >
> > Because there are many types of conversions it would be nice if the
> > changelog included a declaration of some sorts about what this means
> > precisely: 'the two implementations were 100% identical', or 'the x86
> > one was buggy and we now switch to the correct generic one', or 'the
> > only difference between the two is X, Y and Z, which is not a
> > problem'?
> >
> > Thanks,
> >
> > Ingo
>
> The generic compat version was added along with the arm64 support.
> It is functionally equivalent to the x86-specific implementation.
> The main difference is using audit_is_compat() instead of a
> hardcoded check for AUDIT_ARCH_I386.
>
> I just noticed a bug in lib/compat_audit.c though. It is missing
> __NR_execveat.
Another asymmetry is that lib/compat_audit.c covers __NR_socketcall,
while arch/x86/kernel/audit.c does not.
But that's an improvement I think: for __NR_socketcall the old x86
code would not do the socketcall permission check for SYS_BIND, which
is an audit record generation bug AFAICS.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists