函数逻辑报告 | 
Source Code:security\integrity\ima\ima_template.c | 
Create Date:2022-07-27 22:05:21 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:Restore the serialized binary measurement list without extending PCRs.
函数原型:int ima_restore_measurement_list(loff_t size, void *buf)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| loff_t | size | |
| void * | buf | 
| 353 | struct ima_field_data hdr[HDR__LAST] = {[HDR_PCR] = {len = sizeof(u32)}, [HDR_DIGEST] = {len = Max TPM v1.2 PCR size }, } | 
| 362 | DECLARE_BITMAP(hdr_mask, HDR__LAST) | 
| 363 | count等于0 | 
| 364 | ret等于0 | 
| 369 | 如果ima_canonical_fmt则 | 
| 370 | version等于le16_to_cpu(version) | 
| 371 | count等于le64_to_cpu(count) | 
| 375 | 如果version不等于1则 | 
| 385 | bitmap_zero(hdr_mask, HDR__LAST) | 
| 386 | bitmap_set(hdr_mask, HDR_PCR, 1) | 
| 387 | bitmap_set(hdr_mask, HDR_DIGEST, 1) | 
| 394 | bufendp等于buf加buffer_size | 
| 398 | enforce_mask或等于如果count恒等于count则ENFORCE_BUFEND否则0 | 
| 399 | ret等于ima_parse_buf(bufp, bufendp, & bufp, HDR__LAST, hdr, NULL, hdr_mask, enforce_mask, "entry header") | 
| 411 | memcpy(template_name, data, len) | 
| 413 | template_name[len]等于0 | 
| 415 | 如果字符串比较恒等于0则 | 
| 416 | 打印错误信息("attempting to restore an unsupported template \"%s\" failed\n", template_name) | 
| 419 | 退出 | 
| 423 | 如果非template_desc则 | 
| 425 | 如果非template_desc则退出 | 
| 433 | ret等于template_desc_init_fields(fmt, & (fields), & (num_fields)) | 
| 436 | 如果ret小于0则 | 
| 443 | ret等于ima_restore_template_data(template_desc, data, len, & entry) | 
| 450 | memcpy( sha1 or md5 measurement hash , data, len) | 
| 452 | pcr等于如果非ima_canonical_fmt则*data否则le32_to_cpu( * (data)) | 
| 459 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| ima_load_kexec_buffer | Restore the measurement list from the previous kernel. | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |