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