diff options
Diffstat (limited to 'include/linux/seccomp.h')
-rw-r--r-- | include/linux/seccomp.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/seccomp.h b/include/linux/seccomp.h new file mode 100644 index 00000000000..3a2702bbb1d --- /dev/null +++ b/include/linux/seccomp.h @@ -0,0 +1,34 @@ +#ifndef _LINUX_SECCOMP_H +#define _LINUX_SECCOMP_H + +#include <linux/config.h> + +#ifdef CONFIG_SECCOMP + +#define NR_SECCOMP_MODES 1 + +#include <linux/thread_info.h> +#include <asm/seccomp.h> + +typedef struct { int mode; } seccomp_t; + +extern void __secure_computing(int); +static inline void secure_computing(int this_syscall) +{ + if (unlikely(test_thread_flag(TIF_SECCOMP))) + __secure_computing(this_syscall); +} + +#else /* CONFIG_SECCOMP */ + +#if (__GNUC__ > 2) + typedef struct { } seccomp_t; +#else + typedef struct { int gcc_is_buggy; } seccomp_t; +#endif + +#define secure_computing(x) do { } while (0) + +#endif /* CONFIG_SECCOMP */ + +#endif /* _LINUX_SECCOMP_H */ |