Fix a bidirectional UDS connect check
authorjooseong.lee <jooseong.lee@samsung.com>
Thu, 26 Feb 2015 04:44:02 +0000 (13:44 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Mon, 23 Mar 2015 02:31:06 +0000 (11:31 +0900)
Change-Id: I6be81f4f77233f5aa1fc4d7bfd89a8e9e8f3c07c
Signed-off-by: jooseong.lee <jooseong.lee@samsung.com>
(cherry picked from commit 417e4cf15d4ca405c6baf1a8a480299d67f4419e)

security/smack/smack_lsm.c

index 28855d6f158f0d69069d31240e76d6e90412a20e..4b5515ec8620302201b4a6bb0adbcabaf2a1fd4d 100644 (file)
@@ -3087,14 +3087,12 @@ static int smack_unix_stream_connect(struct sock *sock,
 
        if (!smack_privileged(CAP_MAC_OVERRIDE)) {
                skp = ssp->smk_out;
-               okp = osp->smk_out;
+               okp = osp->smk_in;
 #ifdef CONFIG_AUDIT
                smk_ad_init_net(&ad, __func__, LSM_AUDIT_DATA_NET, &net);
                smk_ad_setfield_u_net_sk(&ad, other);
 #endif
                rc = smk_access(skp, okp->smk_known, MAY_WRITE, &ad);
-               if (rc == 0)
-                       rc = smk_access(okp, okp->smk_known, MAY_WRITE, NULL);
        }
 
        /*