Messages in this thread | | | Date | Wed, 4 Mar 2015 08:09:40 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 4/5] x86: Use generic compat audit code |
| |
* Brian Gerst <brgerst@gmail.com> wrote:
> On Wed, Mar 4, 2015 at 12:14 AM, Ingo Molnar <mingo@kernel.org> wrote: > > > > * Brian Gerst <brgerst@gmail.com> wrote: > > > >> Use the generic compat syscall audit code instead of an x86 specific > >> implementation. > >> > >> Signed-off-by: Brian Gerst <brgerst@gmail.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
| |