Re: [PATCH v2 RESEND] powerpc/audit: Convert powerpc to AUDIT_ARCH_COMPAT_GENERIC
From: Paul Moore <paul@paul-moore.com>
Date: 2021-08-24 23:02:03
Also in:
linuxppc-dev
On Tue, Aug 24, 2021 at 1:11 PM Christophe Leroy [off-list ref] wrote:
Le 24/08/2021 à 16:47, Paul Moore a écrit :quoted
On Tue, Aug 24, 2021 at 9:36 AM Christophe Leroy [off-list ref] wrote:quoted
Commit e65e1fc2d24b ("[PATCH] syscall class hookup for all normal targets") added generic support for AUDIT but that didn't include support for bi-arch like powerpc. Commit 4b58841149dc ("audit: Add generic compat syscall support") added generic support for bi-arch. Convert powerpc to that bi-arch generic audit support. Cc: Paul Moore <paul@paul-moore.com> Cc: Eric Paris <eparis@redhat.com> Signed-off-by: Christophe Leroy <redacted> --- Resending v2 with Audit people in Cc v2: - Missing 'git add' for arch/powerpc/include/asm/unistd32.h - Finalised commit description --- arch/powerpc/Kconfig | 5 +- arch/powerpc/include/asm/unistd32.h | 7 +++ arch/powerpc/kernel/Makefile | 3 -- arch/powerpc/kernel/audit.c | 84 ----------------------------- arch/powerpc/kernel/compat_audit.c | 44 --------------- 5 files changed, 8 insertions(+), 135 deletions(-) create mode 100644 arch/powerpc/include/asm/unistd32.h delete mode 100644 arch/powerpc/kernel/audit.c delete mode 100644 arch/powerpc/kernel/compat_audit.cCan you explain, in detail please, the testing you have done to verify this patch?I built ppc64_defconfig and checked that the generated code is functionnaly equivalent. ppc32_classify_syscall() is exactly the same as audit_classify_compat_syscall() except that the later takes the syscall as second argument (ie in r4) whereas the former takes it as first argument (ie in r3). audit_classify_arch() and powerpc audit_classify_syscall() are slightly different between the powerpc version and the generic version because the powerpc version checks whether it is AUDIT_ARCH_PPC or not (ie value 20), while the generic one checks whether it has bit __AUDIT_ARCH_64BIT set or not (__AUDIT_ARCH_64BIT is the sign bit of a word), but taking into account that the abi is either AUDIT_ARCH_PPC, AUDIT_ARCH_PPC64 or AUDIT_ARCH_PPC64LE, the result is the same. If you are asking I guess you saw something wrong ?
I was asking because I didn't see any mention of testing, and when you are enabling something significant like this it is nice to see that it has been verified to work :) While binary dumps and comparisons are nice, it is always good to see verification from a test suite. I don't have access to the necessary hardware to test this, but could you verify that the audit-testsuite passes on your test system with your patches applied? * https://github.com/linux-audit/audit-testsuite -- paul moore www.paul-moore.com