]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _LINUX_SECCOMP_H |
2 | #define _LINUX_SECCOMP_H | |
3 | ||
1da177e4 LT |
4 | |
5 | #ifdef CONFIG_SECCOMP | |
6 | ||
1da177e4 LT |
7 | #include <linux/thread_info.h> |
8 | #include <asm/seccomp.h> | |
9 | ||
10 | typedef struct { int mode; } seccomp_t; | |
11 | ||
12 | extern void __secure_computing(int); | |
13 | static inline void secure_computing(int this_syscall) | |
14 | { | |
15 | if (unlikely(test_thread_flag(TIF_SECCOMP))) | |
16 | __secure_computing(this_syscall); | |
17 | } | |
18 | ||
1d9d02fe AA |
19 | extern long prctl_get_seccomp(void); |
20 | extern long prctl_set_seccomp(unsigned long); | |
21 | ||
5cec93c2 AL |
22 | static inline int seccomp_mode(seccomp_t *s) |
23 | { | |
24 | return s->mode; | |
25 | } | |
26 | ||
1da177e4 LT |
27 | #else /* CONFIG_SECCOMP */ |
28 | ||
42a17ad2 RB |
29 | #include <linux/errno.h> |
30 | ||
a1365647 | 31 | typedef struct { } seccomp_t; |
1da177e4 LT |
32 | |
33 | #define secure_computing(x) do { } while (0) | |
34 | ||
1d9d02fe AA |
35 | static inline long prctl_get_seccomp(void) |
36 | { | |
37 | return -EINVAL; | |
38 | } | |
39 | ||
40 | static inline long prctl_set_seccomp(unsigned long arg2) | |
41 | { | |
42 | return -EINVAL; | |
43 | } | |
44 | ||
5cec93c2 AL |
45 | static inline int seccomp_mode(seccomp_t *s) |
46 | { | |
47 | return 0; | |
48 | } | |
49 | ||
1da177e4 LT |
50 | #endif /* CONFIG_SECCOMP */ |
51 | ||
52 | #endif /* _LINUX_SECCOMP_H */ |