diff options
Diffstat (limited to 'security/selinux')
-rw-r--r-- | security/selinux/hooks.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index c8d699270687..cef42f5d69a2 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -4669,6 +4669,7 @@ static int selinux_netlink_recv(struct sk_buff *skb, int capability) | |||
4669 | { | 4669 | { |
4670 | int err; | 4670 | int err; |
4671 | struct common_audit_data ad; | 4671 | struct common_audit_data ad; |
4672 | u32 sid; | ||
4672 | 4673 | ||
4673 | err = cap_netlink_recv(skb, capability); | 4674 | err = cap_netlink_recv(skb, capability); |
4674 | if (err) | 4675 | if (err) |
@@ -4677,8 +4678,9 @@ static int selinux_netlink_recv(struct sk_buff *skb, int capability) | |||
4677 | COMMON_AUDIT_DATA_INIT(&ad, CAP); | 4678 | COMMON_AUDIT_DATA_INIT(&ad, CAP); |
4678 | ad.u.cap = capability; | 4679 | ad.u.cap = capability; |
4679 | 4680 | ||
4680 | return avc_has_perm(NETLINK_CB(skb).sid, NETLINK_CB(skb).sid, | 4681 | security_task_getsecid(current, &sid); |
4681 | SECCLASS_CAPABILITY, CAP_TO_MASK(capability), &ad); | 4682 | return avc_has_perm(sid, sid, SECCLASS_CAPABILITY, |
4683 | CAP_TO_MASK(capability), &ad); | ||
4682 | } | 4684 | } |
4683 | 4685 | ||
4684 | static int ipc_alloc_security(struct task_struct *task, | 4686 | static int ipc_alloc_security(struct task_struct *task, |