Răsfoiți Sursa

SMACK: Use smk_tskacc() instead of smk_access() for proper logging

smack_file_open() is first checking the capability of calling subject,
this check will skip the SMACK logging for success case. Use smk_tskacc()
for proper logging and SMACK access check.

Signed-off-by: Himanshu Shukla <himanshu.sh@samsung.com>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Himanshu Shukla 8 ani în urmă
părinte
comite
c9d238a18b
1 a modificat fișierele cu 1 adăugiri și 4 ștergeri
  1. 1 4
      security/smack/smack_lsm.c

+ 1 - 4
security/smack/smack_lsm.c

@@ -1955,12 +1955,9 @@ static int smack_file_open(struct file *file, const struct cred *cred)
 	struct smk_audit_info ad;
 	struct smk_audit_info ad;
 	int rc;
 	int rc;
 
 
-	if (smack_privileged(CAP_MAC_OVERRIDE))
-		return 0;
-
 	smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
 	smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
 	smk_ad_setfield_u_fs_path(&ad, file->f_path);
 	smk_ad_setfield_u_fs_path(&ad, file->f_path);
-	rc = smk_access(tsp->smk_task, smk_of_inode(inode), MAY_READ, &ad);
+	rc = smk_tskacc(tsp, smk_of_inode(inode), MAY_READ, &ad);
 	rc = smk_bu_credfile(cred, file, MAY_READ, rc);
 	rc = smk_bu_credfile(cred, file, MAY_READ, rc);
 
 
 	return rc;
 	return rc;