函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |