]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/seccomp.h
move seccomp from /proc to a prctl
[linux-2.6-omap-h63xx.git] / include / linux / seccomp.h
index 3a2702bbb1d67dc177544c294db50677a50015e4..d708974dbfe3d000835201fb5ae6e6181beeee91 100644 (file)
@@ -1,12 +1,9 @@
 #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>
 
@@ -19,15 +16,34 @@ static inline void secure_computing(int this_syscall)
                __secure_computing(this_syscall);
 }
 
+static inline int has_secure_computing(struct thread_info *ti)
+{
+       return unlikely(test_ti_thread_flag(ti, TIF_SECCOMP));
+}
+
+extern long prctl_get_seccomp(void);
+extern long prctl_set_seccomp(unsigned long);
+
 #else /* CONFIG_SECCOMP */
 
-#if (__GNUC__ > 2)
-  typedef struct { } seccomp_t;
-#else
-  typedef struct { int gcc_is_buggy; } seccomp_t;
-#endif
+typedef struct { } seccomp_t;
 
 #define secure_computing(x) do { } while (0)
+/* static inline to preserve typechecking */
+static inline int has_secure_computing(struct thread_info *ti)
+{
+       return 0;
+}
+
+static inline long prctl_get_seccomp(void)
+{
+       return -EINVAL;
+}
+
+static inline long prctl_set_seccomp(unsigned long arg2)
+{
+       return -EINVAL;
+}
 
 #endif /* CONFIG_SECCOMP */