Function report | 
Source Code:kernel\trace\trace_uprobe.c | 
Create Date:2022-07-28 12:43:57 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Note that we don't verify it, since the code does not come from user space
Proto:static int process_fetch_insn(struct fetch_insn *code, struct pt_regs *regs, void *dest, void *base)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct fetch_insn * | code | |
| struct pt_regs * | regs | |
| void * | dest | |
| void * | base | 
| 227 | Case op == Register : .param = offset | 
| 229 | Break | 
| 230 | Case op == Stack : .param = index | 
| 231 | val = get_user_stack_nth(regs, param) | 
| 232 | Break | 
| 233 | Case op == Stack pointer | 
| 234 | val = user_stack_pointer(regs) | 
| 235 | Break | 
| 236 | Case op == Return value | 
| 237 | val = regs_return_value(regs) | 
| 238 | Break | 
| 239 | Case op == Immediate : .immediate | 
| 242 | Case op == Current comm | 
| 243 | val = FETCH_TOKEN_COMM | 
| 244 | Break | 
| 245 | Case op == Allocated data: .data | 
| 248 | Case op == File offset: .immediate | 
| 249 | val = translate_user_vaddr(immediate) | 
| 250 | Break | 
| 251 | Default | 
| 252 | Return -EILSEQ | 
| 254 | code++ | 
| 256 | Return From the 2nd stage, routine is same | 
| Name | Describe | 
|---|---|
| __get_data_size | Sum up total data length for dynamic arraies (strings) | 
| store_trace_args | Store the value of each argument | 
| 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  |