• Home
  • Raw
  • Download

Lines Matching refs:iint

60 			 struct integrity_iint_cache *iint)  in ima_fix_xattr()  argument
63 u8 algo = iint->ima_hash->algo; in ima_fix_xattr()
67 iint->ima_hash->xattr.sha1.type = IMA_XATTR_DIGEST; in ima_fix_xattr()
70 iint->ima_hash->xattr.ng.type = IMA_XATTR_DIGEST_NG; in ima_fix_xattr()
71 iint->ima_hash->xattr.ng.algo = algo; in ima_fix_xattr()
74 &iint->ima_hash->xattr.data[offset], in ima_fix_xattr()
75 (sizeof(iint->ima_hash->xattr) - offset) + in ima_fix_xattr()
76 iint->ima_hash->length, 0); in ima_fix_xattr()
81 enum integrity_status ima_get_cache_status(struct integrity_iint_cache *iint, in ima_get_cache_status() argument
86 return iint->ima_mmap_status; in ima_get_cache_status()
88 return iint->ima_bprm_status; in ima_get_cache_status()
91 return iint->ima_file_status; in ima_get_cache_status()
94 return iint->ima_read_status; in ima_get_cache_status()
98 static void ima_set_cache_status(struct integrity_iint_cache *iint, in ima_set_cache_status() argument
104 iint->ima_mmap_status = status; in ima_set_cache_status()
107 iint->ima_bprm_status = status; in ima_set_cache_status()
111 iint->ima_file_status = status; in ima_set_cache_status()
115 iint->ima_read_status = status; in ima_set_cache_status()
120 static void ima_cache_flags(struct integrity_iint_cache *iint, in ima_cache_flags() argument
125 iint->flags |= (IMA_MMAP_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
128 iint->flags |= (IMA_BPRM_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
132 iint->flags |= (IMA_FILE_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
136 iint->flags |= (IMA_READ_APPRAISED | IMA_APPRAISED); in ima_cache_flags()
201 struct integrity_iint_cache *iint, in ima_appraise_measurement() argument
220 cause = iint->flags & IMA_DIGSIG_REQUIRED ? in ima_appraise_measurement()
224 iint->flags |= IMA_NEW_FILE; in ima_appraise_measurement()
225 if ((iint->flags & IMA_NEW_FILE) && in ima_appraise_measurement()
226 (!(iint->flags & IMA_DIGSIG_REQUIRED) || in ima_appraise_measurement()
232 status = evm_verifyxattr(dentry, XATTR_NAME_IMA, xattr_value, rc, iint); in ima_appraise_measurement()
249 if (iint->flags & IMA_DIGSIG_REQUIRED) { in ima_appraise_measurement()
254 clear_bit(IMA_DIGSIG, &iint->atomic_flags); in ima_appraise_measurement()
256 iint->ima_hash->length) in ima_appraise_measurement()
261 iint->ima_hash->digest, in ima_appraise_measurement()
262 iint->ima_hash->length); in ima_appraise_measurement()
273 set_bit(IMA_DIGSIG, &iint->atomic_flags); in ima_appraise_measurement()
276 iint->ima_hash->digest, in ima_appraise_measurement()
277 iint->ima_hash->length); in ima_appraise_measurement()
298 if (!ima_fix_xattr(dentry, iint)) in ima_appraise_measurement()
301 (iint->flags & IMA_NEW_FILE) && in ima_appraise_measurement()
309 ima_cache_flags(iint, func); in ima_appraise_measurement()
311 ima_set_cache_status(iint, func, status); in ima_appraise_measurement()
318 void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file) in ima_update_xattr() argument
324 if (test_bit(IMA_DIGSIG, &iint->atomic_flags)) in ima_update_xattr()
327 if (iint->ima_file_status != INTEGRITY_PASS) in ima_update_xattr()
330 rc = ima_collect_measurement(iint, file, NULL, 0, ima_hash_algo); in ima_update_xattr()
335 ima_fix_xattr(dentry, iint); in ima_update_xattr()
351 struct integrity_iint_cache *iint; in ima_inode_post_setattr() local
361 iint = integrity_iint_find(inode); in ima_inode_post_setattr()
362 if (iint) { in ima_inode_post_setattr()
363 set_bit(IMA_CHANGE_ATTR, &iint->atomic_flags); in ima_inode_post_setattr()
365 clear_bit(IMA_UPDATE_XATTR, &iint->atomic_flags); in ima_inode_post_setattr()
387 struct integrity_iint_cache *iint; in ima_reset_appraise_flags() local
392 iint = integrity_iint_find(inode); in ima_reset_appraise_flags()
393 if (!iint) in ima_reset_appraise_flags()
395 iint->measured_pcrs = 0; in ima_reset_appraise_flags()
396 set_bit(IMA_CHANGE_XATTR, &iint->atomic_flags); in ima_reset_appraise_flags()
398 set_bit(IMA_DIGSIG, &iint->atomic_flags); in ima_reset_appraise_flags()
400 clear_bit(IMA_DIGSIG, &iint->atomic_flags); in ima_reset_appraise_flags()