Function report |
Source Code:kernel\bpf\core.c |
Create Date:2022-07-28 12:47:46 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:bpf_adj_branches
Proto:static int bpf_adj_branches(struct bpf_prog *prog, u32 pos, s32 end_old, s32 end_new, const bool probe_pass)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct bpf_prog * | prog | |
| u32 | pos | |
| s32 | end_old | |
| s32 | end_new | |
| const bool | probe_pass |
| 377 | insn_cnt = Number of filter blocks + If probe_pass Then end_new - end_old Else 0 |
| 379 | ret = 0 |
| 388 | If probe_pass && i == pos Then |
| 393 | If Instruction classes (code) != BPF_JMP && Instruction classes (code) != jmp mode in word width || alu/jmp fields (code) == unction return Then Continue |
| 398 | If alu/jmp fields (code) == unction call Then |
| 399 | If source register != when bpf_call->src_reg == BPF_PSEUDO_CALL, bpf_call->imm == pc-relative* offset to another bpf function Then Continue |
| 401 | ret = bpf_adj_delta_to_imm(insn, pos, end_old, end_new, i, probe_pass) |
| 403 | Else |
| 404 | ret = bpf_adj_delta_to_off(insn, pos, end_old, end_new, i, probe_pass) |
| 407 | If ret Then Break |
| 411 | Return ret |
| Name | Describe |
|---|---|
| bpf_patch_insn_single | |
| bpf_remove_insns |
| 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 |