/Linux-v6.1/security/integrity/ |
D | iint.c | 35 struct integrity_iint_cache *iint; in __integrity_iint_find() local 39 iint = rb_entry(n, struct integrity_iint_cache, rb_node); in __integrity_iint_find() 41 if (inode < iint->inode) in __integrity_iint_find() 43 else if (inode > iint->inode) in __integrity_iint_find() 51 return iint; in __integrity_iint_find() 59 struct integrity_iint_cache *iint; in integrity_iint_find() local 65 iint = __integrity_iint_find(inode); in integrity_iint_find() 68 return iint; in integrity_iint_find() 71 static void iint_free(struct integrity_iint_cache *iint) in iint_free() argument 73 kfree(iint->ima_hash); in iint_free() [all …]
|
D | Makefile | 8 integrity-y := iint.o
|
/Linux-v6.1/security/integrity/ima/ |
D | ima_appraise.c | 88 struct integrity_iint_cache *iint) in ima_fix_xattr() argument 91 u8 algo = iint->ima_hash->algo; in ima_fix_xattr() 95 iint->ima_hash->xattr.sha1.type = IMA_XATTR_DIGEST; in ima_fix_xattr() 98 iint->ima_hash->xattr.ng.type = IMA_XATTR_DIGEST_NG; in ima_fix_xattr() 99 iint->ima_hash->xattr.ng.algo = algo; in ima_fix_xattr() 102 &iint->ima_hash->xattr.data[offset], in ima_fix_xattr() 103 (sizeof(iint->ima_hash->xattr) - offset) + in ima_fix_xattr() 104 iint->ima_hash->length, 0); in ima_fix_xattr() 109 enum integrity_status ima_get_cache_status(struct integrity_iint_cache *iint, in ima_get_cache_status() argument 114 return iint->ima_mmap_status; in ima_get_cache_status() [all …]
|
D | ima_main.c | 116 struct integrity_iint_cache *iint, in ima_rdwr_violation_check() argument 128 if (!iint) in ima_rdwr_violation_check() 129 iint = integrity_iint_find(inode); in ima_rdwr_violation_check() 131 if (iint && test_bit(IMA_MUST_MEASURE, in ima_rdwr_violation_check() 132 &iint->atomic_flags)) in ima_rdwr_violation_check() 137 set_bit(IMA_MUST_MEASURE, &iint->atomic_flags); in ima_rdwr_violation_check() 148 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check() 151 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check() 155 static void ima_check_last_writer(struct integrity_iint_cache *iint, in ima_check_last_writer() argument 164 mutex_lock(&iint->mutex); in ima_check_last_writer() [all …]
|
D | ima_api.c | 135 struct integrity_iint_cache *iint, in ima_add_violation() argument 140 struct ima_event_data event_data = { .iint = iint, in ima_add_violation() 204 static int ima_get_verity_digest(struct integrity_iint_cache *iint, in ima_get_verity_digest() argument 214 ret = fsverity_get_digest(iint->inode, hash->digest, &verity_alg); in ima_get_verity_digest() 240 int ima_collect_measurement(struct integrity_iint_cache *iint, in ima_collect_measurement() argument 261 if (iint->flags & IMA_COLLECTED) in ima_collect_measurement() 277 if (iint->flags & IMA_VERITY_REQUIRED) { in ima_collect_measurement() 278 result = ima_get_verity_digest(iint, &hash); in ima_collect_measurement() 299 tmpbuf = krealloc(iint->ima_hash, length, GFP_NOFS); in ima_collect_measurement() 305 iint->ima_hash = tmpbuf; in ima_collect_measurement() [all …]
|
D | ima_init.c | 47 struct integrity_iint_cache tmp_iint, *iint = &tmp_iint; in ima_add_boot_aggregate() local 48 struct ima_event_data event_data = { .iint = iint, in ima_add_boot_aggregate() 54 memset(iint, 0, sizeof(*iint)); in ima_add_boot_aggregate() 56 iint->ima_hash = &hash.hdr; in ima_add_boot_aggregate() 57 iint->ima_hash->algo = ima_hash_algo; in ima_add_boot_aggregate() 58 iint->ima_hash->length = hash_digest_size[ima_hash_algo]; in ima_add_boot_aggregate()
|
D | ima.h | 63 struct integrity_iint_cache *iint; member 149 struct integrity_iint_cache *iint, 263 int ima_collect_measurement(struct integrity_iint_cache *iint, 266 void ima_store_measurement(struct integrity_iint_cache *iint, struct file *file, 276 void ima_audit_measurement(struct integrity_iint_cache *iint, 314 int ima_check_blacklist(struct integrity_iint_cache *iint, 317 struct integrity_iint_cache *iint, 323 void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file); 324 enum integrity_status ima_get_cache_status(struct integrity_iint_cache *iint, 332 static inline int ima_check_blacklist(struct integrity_iint_cache *iint, in ima_check_blacklist() argument [all …]
|
D | ima_template_lib.c | 352 if (ima_template_hash_algo_allowed(event_data->iint->ima_hash->algo)) { in ima_eventdigest_init() 353 cur_digest = event_data->iint->ima_hash->digest; in ima_eventdigest_init() 354 cur_digestsize = event_data->iint->ima_hash->length; in ima_eventdigest_init() 409 cur_digest = event_data->iint->ima_hash->digest; in ima_eventdigest_ng_init() 410 cur_digestsize = event_data->iint->ima_hash->length; in ima_eventdigest_ng_init() 412 hash_algo = event_data->iint->ima_hash->algo; in ima_eventdigest_ng_init() 433 cur_digest = event_data->iint->ima_hash->digest; in ima_eventdigest_ngv2_init() 434 cur_digestsize = event_data->iint->ima_hash->length; in ima_eventdigest_ngv2_init() 436 hash_algo = event_data->iint->ima_hash->algo; in ima_eventdigest_ngv2_init() 437 if (event_data->iint->flags & IMA_VERITY_REQUIRED) in ima_eventdigest_ngv2_init()
|
/Linux-v6.1/security/integrity/evm/ |
D | evm_main.c | 171 struct integrity_iint_cache *iint) in evm_verify_hmac() argument 180 if (iint && (iint->evm_status == INTEGRITY_PASS || in evm_verify_hmac() 181 iint->evm_status == INTEGRITY_PASS_IMMUTABLE)) in evm_verify_hmac() 182 return iint->evm_status; in evm_verify_hmac() 246 if (iint) in evm_verify_hmac() 247 iint->flags |= EVM_IMMUTABLE_DIGSIG; in evm_verify_hmac() 274 if (iint) in evm_verify_hmac() 275 iint->evm_status = evm_status; in evm_verify_hmac() 406 struct integrity_iint_cache *iint) in evm_verifyxattr() argument 411 if (!iint) { in evm_verifyxattr() [all …]
|
D | evm_crypto.c | 326 struct integrity_iint_cache *iint; in evm_is_immutable() local 329 iint = integrity_iint_find(inode); in evm_is_immutable() 330 if (iint && (iint->flags & EVM_IMMUTABLE_DIGSIG)) in evm_is_immutable()
|
/Linux-v6.1/include/linux/ |
D | evm.h | 23 struct integrity_iint_cache *iint); 66 struct integrity_iint_cache *iint) in evm_verifyxattr() argument
|