函数逻辑报告 |
Source Code:kernel\events\uprobes.c |
Create Date:2022-07-27 15:07:28 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__create_xol_area
函数原型:static struct xol_area *__create_xol_area(unsigned long vaddr)
返回类型:struct xol_area
参数:
类型 | 参数 | 名称 |
---|---|---|
unsigned long | vaddr |
1486 | insn等于UPROBE_SWBP_INSN |
1490 | 如果此条件成立可能性小(为编译器优化)(!area)则转到:out |
1493 | 0 = free slot 等于分配数组内存并置零 |
1495 | 如果非0 = free slot 则转到:free_area |
1498 | The name, e.g. "[vdso]". 等于"[uprobes]" |
1499 | fault = NULL |
1500 | * If .fault is not provided, this points to a * NULL-terminated array of pages that back the special mapping. * This must not be NULL unless .fault is provided.等于pages |
1501 | pages[0]等于alloc_page(GFP_HIGHUSER) |
1502 | 如果非pages[0]则转到:free_bitmap |
1504 | pages[1] = NULL |
1507 | init_waitqueue_head( & all slots are busy ) |
1509 | 设置内存位 |
1510 | atomic_set( & umber of in-use slots , 1) |
1511 | arch_uprobe_copy_ixol(pages[0], 0, & insn, UPROBE_SWBP_INSN_SIZE) |
1513 | 如果非Slot allocation for XOL 则返回:area |
1516 | __free_page(pages[0]) |
1517 | free_bitmap : |
1518 | kfree(0 = free slot ) |
1519 | free_area : |
1521 | out : |
1522 | 返回:NULL |
名称 | 描述 |
---|---|
get_xol_area | get_xol_area - Allocate process's xol_area if necessary.* This area will be used for storing instructions for execution out of line.* Returns the allocated area or NULL. |
dup_xol_work |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |