linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / kernel / capability.c
index 6e3c421..08e5fe7 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/module.h>
 #include <linux/security.h>
 #include <linux/syscalls.h>
+#include <linux/vs_cvirt.h>
 #include <asm/uaccess.h>
 
 unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */
@@ -46,7 +47,7 @@ asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr)
      int ret = 0;
      pid_t pid;
      __u32 version;
-     struct task_struct *target;
+     task_t *target;
      struct __user_cap_data_struct data;
 
      if (get_user(version, &header->version))
@@ -96,7 +97,7 @@ static inline int cap_set_pg(int pgrp, kernel_cap_t *effective,
                              kernel_cap_t *inheritable,
                              kernel_cap_t *permitted)
 {
-       struct task_struct *g, *target;
+       task_t *g, *target;
        int ret = -EPERM;
        int found = 0;
 
@@ -128,7 +129,7 @@ static inline int cap_set_all(kernel_cap_t *effective,
                               kernel_cap_t *inheritable,
                               kernel_cap_t *permitted)
 {
-     struct task_struct *g, *target;
+     task_t *g, *target;
      int ret = -EPERM;
      int found = 0;
 
@@ -172,7 +173,7 @@ asmlinkage long sys_capset(cap_user_header_t header, const cap_user_data_t data)
 {
      kernel_cap_t inheritable, permitted, effective;
      __u32 version;
-     struct task_struct *target;
+     task_t *target;
      int ret;
      pid_t pid;
 
@@ -233,22 +234,3 @@ out:
 
      return ret;
 }
-
-int __capable(struct task_struct *t, int cap)
-{
-       if (security_capable(t, cap) == 0) {
-               t->flags |= PF_SUPERPRIV;
-               return 1;
-       }
-       return 0;
-}
-EXPORT_SYMBOL(__capable);
-
-int capable(int cap)
-{
-       /* here for now so we don't require task locking */
-       if (vx_check_bit(VXC_CAP_MASK, cap) && !vx_mcaps(1L << cap))
-               return 0;
-       return __capable(current, cap);
-}
-EXPORT_SYMBOL(capable);