Function report | 
Source Code:kernel\trace\trace_uprobe.c | 
Create Date:2022-07-28 12:44:45 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__uprobe_trace_func
Proto:static void __uprobe_trace_func(struct trace_uprobe *tu, unsigned long func, struct pt_regs *regs, struct uprobe_cpu_buffer *ucb, int dsize, struct trace_event_file *trace_file)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct trace_uprobe * | tu | |
| unsigned long | func | |
| struct pt_regs * | regs | |
| struct uprobe_cpu_buffer * | ucb | |
| int | dsize | |
| struct trace_event_file * | trace_file | 
| 938 | call = trace_probe_event_call( & tp) | 
| 940 | WARN_ON(call != event_call) | 
| 942 | If WARN_ON_ONCE( trace entry size + dsize > PAGE_SIZE) Then Return | 
| 948 | esize = SIZEOF_TRACE_ENTRY(is_ret_probe(tu)) | 
| 949 | size = esize + trace entry size + dsize | 
| 950 | event = trace_event_buffer_lock_reserve( & buffer, trace_file, type, size, 0, 0) | 
| 952 | If Not event Then Return | 
| 955 | entry = g_buffer_event_data - return the data of the event*@event: the event to get the data from | 
| 956 | If is_ret_probe(tu) Then | 
| 958 | vaddr[1] = instruction_pointer(regs) | 
| 959 | data = DATAOF_TRACE_ENTRY(entry, true) | 
| 960 | Else | 
| 961 | vaddr[0] = instruction_pointer(regs) | 
| 962 | data = DATAOF_TRACE_ENTRY(entry, false) | 
| 965 | No 3D Now!(data, buf, trace entry size + dsize) | 
| Name | Describe | 
|---|---|
| uprobe_trace_func | probe handler | 
| uretprobe_trace_func | 
| 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  |