[PATCH v2 3/3] audit(userspace): Add compat system call support for AArch64
AKASHI Takahiro
takahiro.akashi at linaro.org
Mon Jan 20 05:05:10 UTC 2014
[+ Cc: Eric]
On 01/18/2014 12:05 AM, Will Deacon wrote:
> On Fri, Jan 17, 2014 at 08:15:29AM +0000, AKASHI Takahiro wrote:
>> For 32-bit task auditing (-F arch=b32), internally-used machine type will
>> be overwritten to MACH_ARM[EB] in order to use a correct system call
>> lookup table.
>>
>> Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
>> ---
>> lib/libaudit.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/lib/libaudit.c b/lib/libaudit.c
>> index 77b3f9b..df2af2a 100644
>> --- a/lib/libaudit.c
>> +++ b/lib/libaudit.c
>> @@ -1306,6 +1306,12 @@ int audit_rule_fieldpair_data(struct audit_rule_data **rulep, const char *pair,
>> else if (bits == ~__AUDIT_ARCH_64BIT &&
>> machine == MACH_S390X)
>> machine = MACH_S390;
>> + else if (bits == ~__AUDIT_ARCH_64BIT &&
>> + machine == MACH_AARCH64)
>> + machine = MACH_ARM;
>> + else if (bits == ~__AUDIT_ARCH_64BIT &&
>> + machine == MACH_AARCH64EB)
>> + machine = MACH_ARMEB;
>
> Why do you care about MACH_ARMEB? The syscall APIs are identical for either
> endianness.
Yeah, I remember that you have already mentioned it before:
On 11/08/2013 11:34 PM, Will Deacon wrote:
> On Wed, Nov 06, 2013 at 10:25:42AM +0000, AKASHI Takahiro wrote:
>> * Userspace audit package
>> There are some missing syscall definitions in lib/aarch64_table.h.
>> There is no support for AUDIT_ARCH_ARM (I mean LE. armeb is BE).
>
> I did post something over a year ago... did it not get picked up?
>
> http://permalink.gmane.org/gmane.linux.ports.arm.kernel/165266
But since then, I've never got any follow-ups from audit folks (especially Eric)
and so just kept the code unchanged and made my changes compatible with it.
Once we all agree, I will be easily able to remove such a conditional.
-Takahiro AKASHI
> Will
>
More information about the Linux-audit
mailing list