Function report |
Source Code:kernel\events\uprobes.c |
Create Date:2022-07-28 13:45:32 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:register_for_each_vma
Proto:static int register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct uprobe * | uprobe | |
struct uprobe_consumer * | new |
1048 | is_register = Not Not new |
1050 | err = 0 |
1052 | percpu_down_write( & dup_mmap_sem) |
1053 | info = build_map_info(i_mapping, offset, is_register) |
1064 | If err && is_register Then Go to free |
1067 | lock for writing |
1073 | If Our start address within vm_mm. > vaddr || vaddr_to_offset(vma, vaddr) != offset Then Go to unlock |
1077 | If is_register Then |
1079 | If consumer_filter(new, UPROBE_FILTER_REGISTER, mm) Then err = install_breakpoint(uprobe, mm, vma, vaddr) |
1082 | Else if Determine whether a bit is set(has uprobes , & Must use atomic bitops to access ) Then |
1083 | If Not filter_chain(uprobe, UPROBE_FILTER_UNREGISTER, mm) Then err |= remove_breakpoint(uprobe, mm, vaddr) |
1088 | unlock : |
1089 | lease a write lock |
1090 | free : |
1092 | info = free_map_info(info) |
1094 | out : |
1095 | percpu_up_write( & dup_mmap_sem) |
1096 | Return err |
Name | Describe |
---|---|
__uprobe_unregister | |
__uprobe_register | __uprobe_register - register a probe*@inode: the file in which the probe has to be placed |
uprobe_apply | probe_apply - unregister an already registered probe.*@inode: the file in which the probe has to be removed.*@offset: offset from the start of the file.*@uc: consumer which wants to add more or remove some breakpoints*@add: add or remove the breakpoints |
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 |