powerpc: Enable seccomp architecture tracking
authorYiFei Zhu <yifeifz2@illinois.edu>
Wed, 11 Nov 2020 13:33:49 +0000 (07:33 -0600)
committerKees Cook <keescook@chromium.org>
Fri, 20 Nov 2020 19:16:35 +0000 (11:16 -0800)
To enable seccomp constant action bitmaps, we need to have a static
mapping to the audit architecture and system call table size. Add these
for powerpc.

__LITTLE_ENDIAN__ is used here instead of CONFIG_CPU_LITTLE_ENDIAN
to keep it consistent with asm/syscall.h.

Signed-off-by: YiFei Zhu <yifeifz2@illinois.edu>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/0b64925362671cdaa26d01bfe50b3ba5e164adfd.1605101222.git.yifeifz2@illinois.edu
arch/powerpc/include/asm/seccomp.h

index 51209f6..ac2033f 100644 (file)
@@ -8,4 +8,27 @@
 
 #include <asm-generic/seccomp.h>
 
+#ifdef __LITTLE_ENDIAN__
+#define __SECCOMP_ARCH_LE              __AUDIT_ARCH_LE
+#define __SECCOMP_ARCH_LE_NAME         "le"
+#else
+#define __SECCOMP_ARCH_LE              0
+#define __SECCOMP_ARCH_LE_NAME
+#endif
+
+#ifdef CONFIG_PPC64
+# define SECCOMP_ARCH_NATIVE           (AUDIT_ARCH_PPC64 | __SECCOMP_ARCH_LE)
+# define SECCOMP_ARCH_NATIVE_NR                NR_syscalls
+# define SECCOMP_ARCH_NATIVE_NAME      "ppc64" __SECCOMP_ARCH_LE_NAME
+# ifdef CONFIG_COMPAT
+#  define SECCOMP_ARCH_COMPAT          (AUDIT_ARCH_PPC | __SECCOMP_ARCH_LE)
+#  define SECCOMP_ARCH_COMPAT_NR       NR_syscalls
+#  define SECCOMP_ARCH_COMPAT_NAME     "ppc" __SECCOMP_ARCH_LE_NAME
+# endif
+#else /* !CONFIG_PPC64 */
+# define SECCOMP_ARCH_NATIVE           (AUDIT_ARCH_PPC | __SECCOMP_ARCH_LE)
+# define SECCOMP_ARCH_NATIVE_NR                NR_syscalls
+# define SECCOMP_ARCH_NATIVE_NAME      "ppc" __SECCOMP_ARCH_LE_NAME
+#endif
+
 #endif /* _ASM_POWERPC_SECCOMP_H */