effective, inheritable, permitted);
}
-int security_capable(int cap)
+int security_capable(struct task_struct *tsk, int cap)
{
- return security_ops->capable(cap, SECURITY_CAP_AUDIT);
+ return security_ops->capable(tsk, cap, SECURITY_CAP_AUDIT);
}
-int security_task_capable(struct task_struct *tsk, int cap)
+int security_capable_noaudit(struct task_struct *tsk, int cap)
{
- const struct cred *cred;
- int ret;
-
- cred = get_task_cred(tsk);
- ret = security_ops->task_capable(tsk, cred, cap, SECURITY_CAP_AUDIT);
- put_cred(cred);
- return ret;
-}
-
-int security_task_capable_noaudit(struct task_struct *tsk, int cap)
-{
- const struct cred *cred;
- int ret;
-
- cred = get_task_cred(tsk);
- ret = security_ops->task_capable(tsk, cred, cap, SECURITY_CAP_NOAUDIT);
- put_cred(cred);
- return ret;
+ return security_ops->capable(tsk, cap, SECURITY_CAP_NOAUDIT);
}
int security_acct(struct file *file)