blob: e74072d23e692b0a1c6bfd6c5b63b08a396e17c0 [file] [log] [blame]
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +00001/*
2 * include/asm-generic/seccomp.h
3 *
4 * Copyright (C) 2014 Linaro Limited
5 * Author: AKASHI Takahiro <takahiro.akashi@linaro.org>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11#ifndef _ASM_GENERIC_SECCOMP_H
12#define _ASM_GENERIC_SECCOMP_H
13
14#include <linux/unistd.h>
15
16#if defined(CONFIG_COMPAT) && !defined(__NR_seccomp_read_32)
17#define __NR_seccomp_read_32 __NR_read
18#define __NR_seccomp_write_32 __NR_write
19#define __NR_seccomp_exit_32 __NR_exit
Kees Cookddaa27e2015-04-16 12:48:44 -070020#ifndef __NR_seccomp_sigreturn_32
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000021#define __NR_seccomp_sigreturn_32 __NR_rt_sigreturn
Kees Cookddaa27e2015-04-16 12:48:44 -070022#endif
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000023#endif /* CONFIG_COMPAT && ! already defined */
24
25#define __NR_seccomp_read __NR_read
26#define __NR_seccomp_write __NR_write
27#define __NR_seccomp_exit __NR_exit
28#ifndef __NR_seccomp_sigreturn
29#define __NR_seccomp_sigreturn __NR_rt_sigreturn
30#endif
31
Matt Redfearnc983f0e2016-03-29 09:35:32 +010032#ifdef CONFIG_COMPAT
33#ifndef get_compat_mode1_syscalls
34static inline const int *get_compat_mode1_syscalls(void)
35{
36 static const int mode1_syscalls_32[] = {
37 __NR_seccomp_read_32, __NR_seccomp_write_32,
38 __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
39 0, /* null terminated */
40 };
41 return mode1_syscalls_32;
42}
43#endif
44#endif /* CONFIG_COMPAT */
45
AKASHI Takahiro65a2ae82014-11-28 05:26:36 +000046#endif /* _ASM_GENERIC_SECCOMP_H */