[PATCH v2] arm64: add guard macros of unistd.h to prevent double inclusion

Yang Yingliang yangyingliang at huawei.com
Fri Sep 12 02:03:42 PDT 2014

On 2014/9/11 23:02, Will Deacon wrote:
> On Thu, Sep 11, 2014 at 10:21:18AM +0100, Yang Yingliang wrote:
>> From: Yang Yingliang <yangyingliang at huawei.com>
>> Add guard macros for uapi/asm/unistd.h, asm/unistd.h and
>> asm/unistd32.h.
> Hmm, so I applied this and now my machine panics when we hit userspace. I
> think the issue is that we no longer generate our syscall table in
> arch/arm64/kernel/sys.c, because unistd.h is already included via
> linux/syscalls.h but without the __SYSCALL definition.
> So, a couple of questions:
>   (1) Is the lack of header guards actually causing you a problem?
>   (2) How did you test this?
> I've dropped the patch.
> Will
Oh, my bad, sorry for that.

I found asm/unistd.h have no guard macro when I was migrate a userspace
program from x86_64 to arm64. The program uses the macro _ASM_X86_UNISTD_64_H,
but arm64 does not have this(arm has __ASM_ARM_UNISTD_H). So I tried to add
the guard macro.


More information about the linux-arm-kernel mailing list