/linux-4.4.14/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 | 7 integrity-y := iint.o
|
/linux-4.4.14/security/integrity/ima/ |
D | ima_appraise.c | 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() [all …]
|
D | ima_main.c | 81 struct integrity_iint_cache *iint, in ima_rdwr_violation_check() argument 92 if (!iint) in ima_rdwr_violation_check() 93 iint = integrity_iint_find(inode); in ima_rdwr_violation_check() 95 if (iint && (iint->flags & IMA_MEASURE)) in ima_rdwr_violation_check() 109 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check() 112 ima_add_violation(file, *pathname, iint, in ima_rdwr_violation_check() 116 static void ima_check_last_writer(struct integrity_iint_cache *iint, in ima_check_last_writer() argument 126 if ((iint->version != inode->i_version) || in ima_check_last_writer() 127 (iint->flags & IMA_NEW_FILE)) { in ima_check_last_writer() 128 iint->flags &= ~(IMA_DONE_MASK | IMA_NEW_FILE); in ima_check_last_writer() [all …]
|
D | ima_api.c | 129 struct integrity_iint_cache *iint, in ima_add_violation() argument 134 struct ima_event_data event_data = {iint, file, filename, NULL, 0, in ima_add_violation() 190 int ima_collect_measurement(struct integrity_iint_cache *iint, in ima_collect_measurement() argument 207 if (!(iint->flags & IMA_COLLECTED)) { in ima_collect_measurement() 225 void *tmpbuf = krealloc(iint->ima_hash, length, in ima_collect_measurement() 228 iint->ima_hash = tmpbuf; in ima_collect_measurement() 229 memcpy(iint->ima_hash, &hash, length); in ima_collect_measurement() 230 iint->version = i_version; in ima_collect_measurement() 231 iint->flags |= IMA_COLLECTED; in ima_collect_measurement() 259 void ima_store_measurement(struct integrity_iint_cache *iint, in ima_store_measurement() argument [all …]
|
D | ima.h | 57 struct integrity_iint_cache *iint; member 114 struct integrity_iint_cache *iint, 142 int ima_collect_measurement(struct integrity_iint_cache *iint, 146 void ima_store_measurement(struct integrity_iint_cache *iint, struct file *file, 150 void ima_audit_measurement(struct integrity_iint_cache *iint, 178 int ima_appraise_measurement(int func, struct integrity_iint_cache *iint, 183 void ima_update_xattr(struct integrity_iint_cache *iint, struct file *file); 184 enum integrity_status ima_get_cache_status(struct integrity_iint_cache *iint, 193 struct integrity_iint_cache *iint, in ima_appraise_measurement() argument 208 static inline void ima_update_xattr(struct integrity_iint_cache *iint, in ima_update_xattr() argument [all …]
|
D | ima_init.c | 51 struct integrity_iint_cache tmp_iint, *iint = &tmp_iint; in ima_add_boot_aggregate() local 52 struct ima_event_data event_data = {iint, NULL, boot_aggregate_name, in ima_add_boot_aggregate() 61 memset(iint, 0, sizeof(*iint)); in ima_add_boot_aggregate() 63 iint->ima_hash = &hash.hdr; in ima_add_boot_aggregate() 64 iint->ima_hash->algo = HASH_ALGO_SHA1; in ima_add_boot_aggregate() 65 iint->ima_hash->length = SHA1_DIGEST_SIZE; in ima_add_boot_aggregate()
|
D | ima_template_lib.c | 216 if (ima_template_hash_algo_allowed(event_data->iint->ima_hash->algo)) { in ima_eventdigest_init() 217 cur_digest = event_data->iint->ima_hash->digest; in ima_eventdigest_init() 218 cur_digestsize = event_data->iint->ima_hash->length; in ima_eventdigest_init() 254 cur_digest = event_data->iint->ima_hash->digest; in ima_eventdigest_ng_init() 255 cur_digestsize = event_data->iint->ima_hash->length; in ima_eventdigest_ng_init() 257 hash_algo = event_data->iint->ima_hash->algo; in ima_eventdigest_ng_init()
|
/linux-4.4.14/security/integrity/evm/ |
D | evm_main.c | 114 struct integrity_iint_cache *iint) in evm_verify_hmac() argument 121 if (iint && iint->evm_status == INTEGRITY_PASS) in evm_verify_hmac() 122 return iint->evm_status; in evm_verify_hmac() 185 if (iint) in evm_verify_hmac() 186 iint->evm_status = evm_status; in evm_verify_hmac() 233 struct integrity_iint_cache *iint) in evm_verifyxattr() argument 238 if (!iint) { in evm_verifyxattr() 239 iint = integrity_iint_find(d_backing_inode(dentry)); in evm_verifyxattr() 240 if (!iint) in evm_verifyxattr() 244 xattr_value_len, iint); in evm_verifyxattr() [all …]
|
/linux-4.4.14/include/linux/ |
D | evm.h | 21 struct integrity_iint_cache *iint); 50 struct integrity_iint_cache *iint) in evm_verifyxattr() argument
|