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 |