aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2015-02-15 21:47:53 -0500
committerJames Morris <james.l.morris@oracle.com>2015-02-15 21:47:53 -0500
commit0d309cbddb49d4d948b3e9fe8423e80b3b64486b (patch)
tree80c2de7fa46339120d458e033612a9c71625d856 /security
parentd0709f1e66e8066c4ac6a54620ec116aa41937c0 (diff)
parent7f368ad34f0657f4bc39bf5bad6692b5a81a1194 (diff)
Merge branch 'smack-for-3.20-rebased' of git://git.gitorious.org/smack-next/kernel into for-linus
Diffstat (limited to 'security')
-rw-r--r--security/smack/smack_lsm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index a0ccce4e46f8..ed94f6f836e7 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -3818,6 +3818,18 @@ static int smack_inet_conn_request(struct sock *sk, struct sk_buff *skb,
3818 } 3818 }
3819#endif /* CONFIG_IPV6 */ 3819#endif /* CONFIG_IPV6 */
3820 3820
3821#ifdef CONFIG_SECURITY_SMACK_NETFILTER
3822 /*
3823 * If there is a secmark use it rather than the CIPSO label.
3824 * If there is no secmark fall back to CIPSO.
3825 * The secmark is assumed to reflect policy better.
3826 */
3827 if (skb && skb->secmark != 0) {
3828 skp = smack_from_secid(skb->secmark);
3829 goto access_check;
3830 }
3831#endif /* CONFIG_SECURITY_SMACK_NETFILTER */
3832
3821 netlbl_secattr_init(&secattr); 3833 netlbl_secattr_init(&secattr);
3822 rc = netlbl_skbuff_getattr(skb, family, &secattr); 3834 rc = netlbl_skbuff_getattr(skb, family, &secattr);
3823 if (rc == 0) 3835 if (rc == 0)
@@ -3826,6 +3838,10 @@ static int smack_inet_conn_request(struct sock *sk, struct sk_buff *skb,
3826 skp = &smack_known_huh; 3838 skp = &smack_known_huh;
3827 netlbl_secattr_destroy(&secattr); 3839 netlbl_secattr_destroy(&secattr);
3828 3840
3841#ifdef CONFIG_SECURITY_SMACK_NETFILTER
3842access_check:
3843#endif
3844
3829#ifdef CONFIG_AUDIT 3845#ifdef CONFIG_AUDIT
3830 smk_ad_init_net(&ad, __func__, LSM_AUDIT_DATA_NET, &net); 3846 smk_ad_init_net(&ad, __func__, LSM_AUDIT_DATA_NET, &net);
3831 ad.a.u.net->family = family; 3847 ad.a.u.net->family = family;