| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _LINUX_SECCOMP_H | 
|  | 2 | #define _LINUX_SECCOMP_H | 
|  | 3 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 |  | 
|  | 5 | #ifdef CONFIG_SECCOMP | 
|  | 6 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Andrea Arcangeli | 1d9d02f | 2007-07-15 23:41:32 -0700 | [diff] [blame] | 19 | extern long prctl_get_seccomp(void); | 
|  | 20 | extern long prctl_set_seccomp(unsigned long); | 
|  | 21 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | #else /* CONFIG_SECCOMP */ | 
|  | 23 |  | 
| Ralf Baechle | 42a17ad | 2009-04-18 11:30:56 +0200 | [diff] [blame] | 24 | #include <linux/errno.h> | 
|  | 25 |  | 
| Andrew Morton | a136564 | 2006-01-08 01:04:09 -0800 | [diff] [blame] | 26 | typedef struct { } seccomp_t; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 |  | 
|  | 28 | #define secure_computing(x) do { } while (0) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 |  | 
| Andrea Arcangeli | 1d9d02f | 2007-07-15 23:41:32 -0700 | [diff] [blame] | 30 | static inline long prctl_get_seccomp(void) | 
|  | 31 | { | 
|  | 32 | return -EINVAL; | 
|  | 33 | } | 
|  | 34 |  | 
|  | 35 | static inline long prctl_set_seccomp(unsigned long arg2) | 
|  | 36 | { | 
|  | 37 | return -EINVAL; | 
|  | 38 | } | 
|  | 39 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 | #endif /* CONFIG_SECCOMP */ | 
|  | 41 |  | 
|  | 42 | #endif /* _LINUX_SECCOMP_H */ |