X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=security%2Fcommoncap.c;h=01a64dc6eeb931061cb3cb818c348522ea910e69;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=3668690ad904b329352bc8accd87baca949bd91a;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/security/commoncap.c b/security/commoncap.c index 3668690ad..01a64dc6e 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -24,45 +24,23 @@ #include #include -int cap_netlink_send(struct sock *sk, struct sk_buff *skb) -{ - NETLINK_CB(skb).eff_cap = current->cap_effective; - return 0; -} - -EXPORT_SYMBOL(cap_netlink_send); - -int cap_netlink_recv(struct sk_buff *skb) -{ - if (!cap_raised(NETLINK_CB(skb).eff_cap, CAP_NET_ADMIN)) - return -EPERM; - return 0; -} - -EXPORT_SYMBOL(cap_netlink_recv); - int cap_capable (struct task_struct *tsk, int cap) { /* Derived from include/linux/sched.h:capable. */ - if (cap_raised(tsk->cap_effective, cap)) + if (cap_raised (tsk->cap_effective, cap)) return 0; - return -EPERM; -} - -int cap_settime(struct timespec *ts, struct timezone *tz) -{ - if (!capable(CAP_SYS_TIME)) + else return -EPERM; - return 0; } int cap_ptrace (struct task_struct *parent, struct task_struct *child) { /* Derived from arch/i386/kernel/ptrace.c:sys_ptrace. */ if (!cap_issubset (child->cap_permitted, current->cap_permitted) && - !capable(CAP_SYS_PTRACE)) + !capable (CAP_SYS_PTRACE)) return -EPERM; - return 0; + else + return 0; } int cap_capget (struct task_struct *target, kernel_cap_t *effective, @@ -395,7 +373,6 @@ int cap_vm_enough_memory(long pages) } EXPORT_SYMBOL(cap_capable); -EXPORT_SYMBOL(cap_settime); EXPORT_SYMBOL(cap_ptrace); EXPORT_SYMBOL(cap_capget); EXPORT_SYMBOL(cap_capset_check);