Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar...
[linux-2.6-block.git] / security / integrity / ima / ima_appraise.c
index f0cd67cab6aa2506ce094131f10cfc2bb28235b7..89b83194d1dc4813ec57160ab817b24ac84571e3 100644 (file)
@@ -54,7 +54,7 @@ int ima_must_appraise(struct inode *inode, int mask, enum ima_hooks func)
 
        security_task_getsecid(current, &secid);
        return ima_match_policy(inode, current_cred(), secid, func, mask,
-                               IMA_APPRAISE | IMA_HASH, NULL);
+                               IMA_APPRAISE | IMA_HASH, NULL, NULL);
 }
 
 static int ima_fix_xattr(struct dentry *dentry,
@@ -165,7 +165,8 @@ enum hash_algo ima_get_hash_algo(struct evm_ima_xattr_data *xattr_value,
                return sig->hash_algo;
                break;
        case IMA_XATTR_DIGEST_NG:
-               ret = xattr_value->digest[0];
+               /* first byte contains algorithm id */
+               ret = xattr_value->data[0];
                if (ret < HASH_ALGO__LAST)
                        return ret;
                break;
@@ -173,7 +174,7 @@ enum hash_algo ima_get_hash_algo(struct evm_ima_xattr_data *xattr_value,
                /* this is for backward compatibility */
                if (xattr_len == 21) {
                        unsigned int zero = 0;
-                       if (!memcmp(&xattr_value->digest[16], &zero, 4))
+                       if (!memcmp(&xattr_value->data[16], &zero, 4))
                                return HASH_ALGO_MD5;
                        else
                                return HASH_ALGO_SHA1;
@@ -272,7 +273,7 @@ int ima_appraise_measurement(enum ima_hooks func,
                        /* xattr length may be longer. md5 hash in previous
                           version occupied 20 bytes in xattr, instead of 16
                         */
-                       rc = memcmp(&xattr_value->digest[hash_start],
+                       rc = memcmp(&xattr_value->data[hash_start],
                                    iint->ima_hash->digest,
                                    iint->ima_hash->length);
                else