diff options
author | Casey Schaufler <casey@schaufler-ca.com> | 2019-04-03 17:28:38 -0400 |
---|---|---|
committer | Casey Schaufler <casey@schaufler-ca.com> | 2019-04-03 17:28:38 -0400 |
commit | f7450bc6e76860564f3842a41892f9b74313cc23 (patch) | |
tree | 863eddb3f6473b23322512310b43f6725bc7bb7c /security/smack | |
parent | 4e328b08882a68649df2c2b76fd208b0d0b85503 (diff) |
Smack: Fix IPv6 handling of 0 secmark
Handle the case where the skb for an IPv6 packet contains
a 0 in the secmark for a packet generated locally. This
can only happen for system packets, so allow the access.
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Diffstat (limited to 'security/smack')
-rw-r--r-- | security/smack/smack_lsm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index bd45c9139d34..b9abcdb36a73 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c | |||
@@ -3907,6 +3907,8 @@ access_check: | |||
3907 | #ifdef SMACK_IPV6_SECMARK_LABELING | 3907 | #ifdef SMACK_IPV6_SECMARK_LABELING |
3908 | if (skb && skb->secmark != 0) | 3908 | if (skb && skb->secmark != 0) |
3909 | skp = smack_from_secid(skb->secmark); | 3909 | skp = smack_from_secid(skb->secmark); |
3910 | else if (smk_ipv6_localhost(&sadd)) | ||
3911 | break; | ||
3910 | else | 3912 | else |
3911 | skp = smack_ipv6host_label(&sadd); | 3913 | skp = smack_ipv6host_label(&sadd); |
3912 | if (skp == NULL) | 3914 | if (skp == NULL) |