Function report |
Source Code:kernel\events\uprobes.c |
Create Date:2022-07-28 13:46:01 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__create_xol_area
Proto:static struct xol_area *__create_xol_area(unsigned long vaddr)
Type:struct xol_area
Parameter:
Type | Parameter | Name |
---|---|---|
unsigned long | vaddr |
1486 | insn = UPROBE_SWBP_INSN |
1489 | area = Allocation memory |
1490 | If Value for the false possibility is greater at compile time(!area) Then Go to out |
1493 | 0 = free slot = kcalloc - allocate memory for an array. The memory is set to zero.*@n: number of elements.*@size: element size.*@flags: the type of memory to allocate (see kmalloc). |
1495 | If Not 0 = free slot Then Go to 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 | If Not pages[0] Then Go to free_bitmap |
1504 | pages[1] = NULL |
1507 | init_waitqueue_head( & all slots are busy ) |
1510 | atomic_set( & umber of in-use slots , 1) |
1511 | arch_uprobe_copy_ixol(pages[0], 0, & insn, UPROBE_SWBP_INSN_SIZE) |
1513 | If Not Slot allocation for XOL Then Return area |
1516 | __free_page(pages[0]) |
1517 | free_bitmap : |
1518 | kfree(0 = free slot ) |
1519 | free_area : |
1521 | out : |
1522 | Return NULL |
Name | Describe |
---|---|
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 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |