Subject: [PATCH v10 1/3] arm64: Add __NR_* definitions for compat syscalls

From: [email-masked] (AKASHI Takahiro)
Date: Fri, 04 Jul 2014 20:05:47 +0900

Arnd,

On 07/04/2014 07:06 PM, Arnd Bergmann wrote:
> On Friday 04 July 2014 16:28:29 AKASHI Takahiro wrote:
>> From: Catalin Marinas <[email-masked]>
>>
>> This patch adds __NR_* definitions to asm/unistd32.h, moves the
>> __NR_compat_* definitions to asm/unistd.h and removes all the explicit
>> unistd32.h includes apart from the one building the compat syscall
>> table. The aim is to have the compat __NR_* definitions available but
>> without colliding with the native syscall definitions.
>>
>> And adds more syscall definitions for 3.16.
>
> Can you explain in more detail why you want to add those macros? I've
> looked at all three patches in the series but can't find any code using
> them.

Right. "unistd32.h" is not used by this patch, but by lib/compat_audit.c.
when I thought of adding audit support for arm64, there was duplicated code
of auditing compat system calls across many architectures.
lib/compat_audit.c fixes this issue but at the same time it also requires
__NR_* macros for a couple of compat system calls which arm64 didn't have.

In the first implementation, I generated an extra generated/asm/unistd_32.h
from the original asm/unist32.h by using a sed script. But Catalin suggested
(agreed?) to modify unistd32.h for this purpose.

See
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-January/228992.html

Thanks,
-Takahiro AKASHI

> I would expect that we don't need to define those macros at all for
> compat mode, since they are meant primarily for user space (glibc)
> compilation, which gets them from arch/arm/include/asm/unistd.h.
>
> 	Arnd
>