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 |