aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZbigniew Jasinski <z.jasinski@samsung.com>2014-12-29 09:34:58 -0500
committerCasey Schaufler <casey@schaufler-ca.com>2015-01-19 13:00:05 -0500
commit96be7b5424948ae39d29d5149eaec0bd6edd7404 (patch)
treec467ec4b6531e2ac3985e0aefa0bc5471e9cfc2e
parent1d8c2326a4a2a4d942f9165b5702fe6f869ccf48 (diff)
smack: Fix a bidirectional UDS connect check typo
The 54e70ec5eb090193b03e69d551fa6771a5a217c4 commit introduced a bidirectional check that should have checked for mutual WRITE access between two labels. Due to a typo subject's OUT label is checked with object's OUT. Should be OUT to IN. Signed-off-by: Zbigniew Jasinski <z.jasinski@samsung.com>
-rw-r--r--security/smack/smack_lsm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 2160e88a2e4e..654345de62e7 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -3312,7 +3312,7 @@ static int smack_unix_stream_connect(struct sock *sock,
3312 3312
3313 if (!smack_privileged(CAP_MAC_OVERRIDE)) { 3313 if (!smack_privileged(CAP_MAC_OVERRIDE)) {
3314 skp = ssp->smk_out; 3314 skp = ssp->smk_out;
3315 okp = osp->smk_out; 3315 okp = osp->smk_in;
3316#ifdef CONFIG_AUDIT 3316#ifdef CONFIG_AUDIT
3317 smk_ad_init_net(&ad, __func__, LSM_AUDIT_DATA_NET, &net); 3317 smk_ad_init_net(&ad, __func__, LSM_AUDIT_DATA_NET, &net);
3318 smk_ad_setfield_u_net_sk(&ad, other); 3318 smk_ad_setfield_u_net_sk(&ad, other);
@@ -3320,6 +3320,8 @@ static int smack_unix_stream_connect(struct sock *sock,
3320 rc = smk_access(skp, okp, MAY_WRITE, &ad); 3320 rc = smk_access(skp, okp, MAY_WRITE, &ad);
3321 rc = smk_bu_note("UDS connect", skp, okp, MAY_WRITE, rc); 3321 rc = smk_bu_note("UDS connect", skp, okp, MAY_WRITE, rc);
3322 if (rc == 0) { 3322 if (rc == 0) {
3323 okp = osp->smk_out;
3324 skp = ssp->smk_in;
3323 rc = smk_access(okp, skp, MAY_WRITE, NULL); 3325 rc = smk_access(okp, skp, MAY_WRITE, NULL);
3324 rc = smk_bu_note("UDS connect", okp, skp, 3326 rc = smk_bu_note("UDS connect", okp, skp,
3325 MAY_WRITE, rc); 3327 MAY_WRITE, rc);