函数逻辑报告 |
Source Code:fs\binfmt_misc.c |
Create Date:2022-07-29 11:02:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:This registers a new binary format, it recognises the syntax* ':name:type:offset:magic:mask:interpreter:flags'* where the ':' is the IFS, that can be chosen with the first char
函数原型:static Node *create_entry(const char __user *buffer, size_t count)
返回类型:Node
参数:
类型 | 参数 | 名称 |
---|---|---|
const char __user * | buffer | |
size_t | count |
332 | 如果count小于11或count大于Max length of the register string则转到:out |
344 | 如果copy_from_user(buf, buffer, count)则转到:efault |
356 | p等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
359 | p自加等于'\0' |
360 | 如果非name[0]或非字符串比较或非字符串比较或strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for则转到:einval |
370 | 当:++ == 'E' |
374 | 当:++ == 'M' |
378 | 默认 |
379 | 转到:einval |
389 | s等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
392 | s等于'\0' |
395 | 如果r不等于0或 offset of magic 小于0则转到:einval |
401 | pr_debug("register: offset: %#x\n", offset of magic ) |
404 | magic or filename extension 等于p |
408 | 如果非 magic or filename extension [0]则转到:einval |
416 | mask, NULL for exact match 等于p |
420 | 如果非 mask, NULL for exact match [0]则 |
421 | mask, NULL for exact match = NULL |
422 | pr_debug("register: mask[raw]: none\n") |
435 | 如果 mask, NULL for exact match 且string_unescape_inplace( mask, NULL for exact match , UNESCAPE_HEX)不等于 size of magic/mask 则转到:einval |
438 | 如果 size of magic/mask 大于sizeof(linux_binprm->buf) 或sizeof(linux_binprm->buf) 减 size of magic/mask 小于 offset of magic 则转到:einval |
441 | pr_debug("register: magic/mask length: %i\n", size of magic/mask ) |
442 | 如果USE_DEBUG则 |
447 | 如果 mask, NULL for exact match 则 |
455 | 如果masked则 |
456 | 以i小于 size of magic/mask 循环masked[i]等于 magic or filename extension [i]按位与 mask, NULL for exact match [i] |
462 | 释放内存 |
466 | 否则 |
470 | p等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
473 | p自加等于'\0' |
476 | magic or filename extension 等于p |
477 | p等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
480 | p自加等于'\0' |
481 | 如果非 magic or filename extension [0]或strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for则转到:einval |
483 | pr_debug("register: extension: {%s}\n", magic or filename extension ) |
486 | p等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
489 | p自加等于'\0' |
493 | filename of interpreter 等于p |
494 | p等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
497 | p自加等于'\0' |
498 | 如果非 filename of interpreter [0]则转到:einval |
500 | pr_debug("register: interpreter: {%s}\n", filename of interpreter ) |
503 | p等于check_special_flags(p, e) |
509 | 返回:e |
511 | out : |
512 | 返回:错误号 |
514 | efault : |
515 | 释放内存 |
516 | 返回:错误号 |
517 | einval : |
518 | 释放内存 |
519 | 返回:错误号 |
名称 | 描述 |
---|---|
bm_register_write | /register |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |