On 7 February 2014 23:44, Arnd Bergmann arnd@arndb.de wrote:
On Friday 07 February 2014 19:11:31 AKASHI Takahiro wrote:
diff --git a/arch/arm64/include/asm/seccomp.h
b/arch/arm64/include/asm/seccomp.h
new file mode 100644 index 0000000..3482155 --- /dev/null +++ b/arch/arm64/include/asm/seccomp.h @@ -0,0 +1,28 @@ +/*
- arch/arm64/include/asm/seccomp.h
- Copyright (C) 2014 Linaro Limited
- Author: AKASHI Takahiro takahiro.akashi@linaro.org
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 2 as
- published by the Free Software Foundation.
- */
+#ifndef _ASM_SECCOMP_H +#define _ASM_SECCOMP_H
+#include <asm/unistd.h>
+#ifdef CONFIG_COMPAT +#define __NR_seccomp_read_32 __NR_compat_read +#define __NR_seccomp_write_32 __NR_compat_write +#define __NR_seccomp_exit_32 __NR_compat_exit +#define __NR_seccomp_sigreturn_32 __NR_compat_sigreturn +#endif /* CONFIG_COMPAT */
+#define __NR_seccomp_read __NR_read +#define __NR_seccomp_write __NR_write +#define __NR_seccomp_exit __NR_exit +#define __NR_seccomp_sigreturn __NR_rt_sigreturn
+#endif /* _ASM_SECCOMP_H */
This file looks extremely generic and can be shared by every architecture other than MIPS for all I can tell.
Please add it to include/asm-generic instead of arch/arm64, and add a line to arch/arm64/include/asm/Kbuild.
Thank you for your comment. I'm afraid that I can't do so because how compat syscall numbers are named varies from arch to arch. __NR_compat_read is used only on arm64, while __NR_ia32_read on x86. On other archs, __NR_read is common to 32-bit and 64-bit tasks.
-Takahiro AKASHI
Arnd