Lines Matching refs:iint
49 struct integrity_iint_cache *iint) in ima_fix_xattr() argument
52 u8 algo = iint->ima_hash->algo; in ima_fix_xattr()
56 iint->ima_hash->xattr.sha1.type = IMA_XATTR_DIGEST; in ima_fix_xattr()
59 iint->ima_hash->xattr.ng.type = IMA_XATTR_DIGEST_NG; in ima_fix_xattr()
60 iint->ima_hash->xattr.ng.algo = algo; in ima_fix_xattr()
63 &iint->ima_hash->xattr.data[offset], in ima_fix_xattr()
64 (sizeof(iint->ima_hash->xattr) - offset) + in ima_fix_xattr()
65 iint->ima_hash->length, 0); in ima_fix_xattr()
70 enum integrity_status ima_get_cache_status(struct integrity_iint_cache *iint, in ima_get_cache_status() argument
75 return iint->ima_mmap_status; in ima_get_cache_status()
77 return iint->ima_bprm_status; in ima_get_cache_status()
79 return iint->ima_module_status; in ima_get_cache_status()
81 return iint->ima_firmware_status; in ima_get_cache_status()
84 return iint->ima_file_status; in ima_get_cache_status()
88 static void ima_set_cache_status(struct integrity_iint_cache *iint, in ima_set_cache_status() argument
93 iint->ima_mmap_status = status; in ima_set_cache_status()
96 iint->ima_bprm_status = status; in ima_set_cache_status()
99 iint->ima_module_status = status; in ima_set_cache_status()
102 iint->ima_firmware_status = status; in ima_set_cache_status()
106 iint->ima_file_status = status; in ima_set_cache_status()
111 static void ima_cache_flags(struct integrity_iint_cache *iint, int func) in ima_cache_flags() argument
115 iint->flags |= (IMA_MMAP_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
118 iint->flags |= (IMA_BPRM_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
121 iint->flags |= (IMA_MODULE_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
124 iint->flags |= (IMA_FIRMWARE_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
128 iint->flags |= (IMA_FILE_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
185 int ima_appraise_measurement(int func, struct integrity_iint_cache *iint, in ima_appraise_measurement() argument
207 iint->flags |= IMA_NEW_FILE; in ima_appraise_measurement()
213 status = evm_verifyxattr(dentry, XATTR_NAME_IMA, xattr_value, rc, iint); in ima_appraise_measurement()
227 if (iint->flags & IMA_DIGSIG_REQUIRED) { in ima_appraise_measurement()
233 iint->ima_hash->length) in ima_appraise_measurement()
238 iint->ima_hash->digest, in ima_appraise_measurement()
239 iint->ima_hash->length); in ima_appraise_measurement()
250 iint->flags |= IMA_DIGSIG; in ima_appraise_measurement()
253 iint->ima_hash->digest, in ima_appraise_measurement()
254 iint->ima_hash->length); in ima_appraise_measurement()
275 if (!ima_fix_xattr(dentry, iint)) in ima_appraise_measurement()
281 ima_cache_flags(iint, func); in ima_appraise_measurement()
283 ima_set_cache_status(iint, func, status); in ima_appraise_measurement()
290 void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file) in ima_update_xattr() argument
296 if (iint->flags & IMA_DIGSIG) in ima_update_xattr()
299 rc = ima_collect_measurement(iint, file, NULL, NULL); in ima_update_xattr()
303 ima_fix_xattr(dentry, iint); in ima_update_xattr()
318 struct integrity_iint_cache *iint; in ima_inode_post_setattr() local
326 iint = integrity_iint_find(inode); in ima_inode_post_setattr()
327 if (iint) { in ima_inode_post_setattr()
328 iint->flags &= ~(IMA_APPRAISE | IMA_APPRAISED | in ima_inode_post_setattr()
332 iint->flags |= IMA_APPRAISE; in ima_inode_post_setattr()
357 struct integrity_iint_cache *iint; in ima_reset_appraise_flags() local
362 iint = integrity_iint_find(inode); in ima_reset_appraise_flags()
363 if (!iint) in ima_reset_appraise_flags()
366 iint->flags &= ~IMA_DONE_MASK; in ima_reset_appraise_flags()
368 iint->flags |= IMA_DIGSIG; in ima_reset_appraise_flags()