insn_idx 564 drivers/net/ethernet/netronome/nfp/bpf/main.h int nfp_verify_insn(struct bpf_verifier_env *env, int insn_idx, insn_idx 585 drivers/net/ethernet/netronome/nfp/bpf/main.h unsigned int insn_idx); insn_idx 21 drivers/net/ethernet/netronome/nfp/bpf/verifier.c unsigned int insn_idx) insn_idx 25 drivers/net/ethernet/netronome/nfp/bpf/verifier.c backward = meta->n - insn_idx; insn_idx 26 drivers/net/ethernet/netronome/nfp/bpf/verifier.c forward = insn_idx - meta->n; insn_idx 28 drivers/net/ethernet/netronome/nfp/bpf/verifier.c if (min(forward, backward) > nfp_prog->n_insns - insn_idx - 1) { insn_idx 29 drivers/net/ethernet/netronome/nfp/bpf/verifier.c backward = nfp_prog->n_insns - insn_idx - 1; insn_idx 32 drivers/net/ethernet/netronome/nfp/bpf/verifier.c if (min(forward, backward) > insn_idx && backward > insn_idx) { insn_idx 33 drivers/net/ethernet/netronome/nfp/bpf/verifier.c forward = insn_idx; insn_idx 626 drivers/net/ethernet/netronome/nfp/bpf/verifier.c int nfp_verify_insn(struct bpf_verifier_env *env, int insn_idx, insn_idx 632 drivers/net/ethernet/netronome/nfp/bpf/verifier.c meta = nfp_bpf_goto_meta(nfp_prog, meta, insn_idx); insn_idx 63 drivers/net/netdevsim/bpf.c nsim_bpf_verify_insn(struct bpf_verifier_env *env, int insn_idx, int prev_insn) insn_idx 68 drivers/net/netdevsim/bpf.c if (state->nsim_dev->bpf_bind_verifier_delay && !insn_idx) insn_idx 71 drivers/net/netdevsim/bpf.c if (insn_idx == env->prog->len - 1) insn_idx 330 include/linux/bpf.h int insn_idx, int prev_insn_idx); insn_idx 165 include/linux/bpf_verifier.h int insn_idx; insn_idx 248 include/linux/bpf_verifier.h u32 insn_idx; insn_idx 351 include/linux/bpf_verifier.h u32 insn_idx; insn_idx 415 include/linux/bpf_verifier.h int insn_idx, int prev_insn_idx); insn_idx 144 kernel/bpf/offload.c int insn_idx, int prev_insn_idx) insn_idx 152 kernel/bpf/offload.c ret = offload->offdev->ops->insn_hook(env, insn_idx, insn_idx 166 kernel/bpf/verifier.c int insn_idx; insn_idx 619 kernel/bpf/verifier.c static int acquire_reference_state(struct bpf_verifier_env *env, int insn_idx) insn_idx 630 kernel/bpf/verifier.c state->refs[new_ofs].insn_idx = insn_idx; insn_idx 776 kernel/bpf/verifier.c int *insn_idx) insn_idx 790 kernel/bpf/verifier.c if (insn_idx) insn_idx 791 kernel/bpf/verifier.c *insn_idx = head->insn_idx; insn_idx 803 kernel/bpf/verifier.c int insn_idx, int prev_insn_idx, insn_idx 814 kernel/bpf/verifier.c elem->insn_idx = insn_idx; insn_idx 1363 kernel/bpf/verifier.c struct bpf_insn *insn = env->prog->insnsi + env->insn_idx; insn_idx 1396 kernel/bpf/verifier.c reg->subreg_def = rw64 ? DEF_NOT_SUBREG : env->insn_idx + 1; insn_idx 1414 kernel/bpf/verifier.c p[cnt - 1].idx = env->insn_idx; insn_idx 1665 kernel/bpf/verifier.c int last_idx = env->insn_idx; insn_idx 1895 kernel/bpf/verifier.c int off, int size, int value_regno, int insn_idx) insn_idx 1899 kernel/bpf/verifier.c u32 dst_reg = env->prog->insnsi[insn_idx].dst_reg; insn_idx 1937 kernel/bpf/verifier.c verbose_linfo(env, insn_idx, "; "); insn_idx 1959 kernel/bpf/verifier.c int *poff = &env->insn_aux_data[insn_idx].sanitize_stack_off; insn_idx 1976 kernel/bpf/verifier.c insn_idx, *poff, soff); insn_idx 2042 kernel/bpf/verifier.c verbose_linfo(env, env->insn_idx, "; "); insn_idx 2352 kernel/bpf/verifier.c static int check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size, insn_idx 2370 kernel/bpf/verifier.c env->insn_aux_data[insn_idx].ctx_field_size = info.ctx_field_size; insn_idx 2393 kernel/bpf/verifier.c static int check_sock_access(struct bpf_verifier_env *env, int insn_idx, insn_idx 2427 kernel/bpf/verifier.c env->insn_aux_data[insn_idx].ctx_field_size = insn_idx 2758 kernel/bpf/verifier.c static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regno, insn_idx 2805 kernel/bpf/verifier.c err = check_ctx_access(env, insn_idx, off, size, t, ®_type); insn_idx 2841 kernel/bpf/verifier.c value_regno, insn_idx); insn_idx 2876 kernel/bpf/verifier.c err = check_sock_access(env, insn_idx, regno, off, size, t); insn_idx 2897 kernel/bpf/verifier.c static int check_xadd(struct bpf_verifier_env *env, int insn_idx, struct bpf_insn *insn) insn_idx 2933 kernel/bpf/verifier.c err = check_mem_access(env, insn_idx, insn->dst_reg, insn->off, insn_idx 2939 kernel/bpf/verifier.c return check_mem_access(env, insn_idx, insn->dst_reg, insn->off, insn_idx 3760 kernel/bpf/verifier.c int *insn_idx) insn_idx 3772 kernel/bpf/verifier.c target_insn = *insn_idx + insn->imm; insn_idx 3798 kernel/bpf/verifier.c *insn_idx /* callsite */, insn_idx 3823 kernel/bpf/verifier.c *insn_idx = target_insn; insn_idx 3834 kernel/bpf/verifier.c static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx) insn_idx 3864 kernel/bpf/verifier.c *insn_idx = callee->callsite + 1; insn_idx 3868 kernel/bpf/verifier.c verbose(env, "to caller at %d:\n", *insn_idx); insn_idx 3898 kernel/bpf/verifier.c ret = push_stack(env, env->insn_idx + 1, env->insn_idx, false); insn_idx 3919 kernel/bpf/verifier.c int func_id, int insn_idx) insn_idx 3921 kernel/bpf/verifier.c struct bpf_insn_aux_data *aux = &env->insn_aux_data[insn_idx]; insn_idx 3967 kernel/bpf/verifier.c state->refs[i].id, state->refs[i].insn_idx); insn_idx 3972 kernel/bpf/verifier.c static int check_helper_call(struct bpf_verifier_env *env, int func_id, int insn_idx) insn_idx 4037 kernel/bpf/verifier.c err = record_func_map(env, &meta, func_id, insn_idx); insn_idx 4045 kernel/bpf/verifier.c err = check_mem_access(env, insn_idx, meta.regno, i, BPF_B, insn_idx 4136 kernel/bpf/verifier.c int id = acquire_reference_state(env, insn_idx); insn_idx 4234 kernel/bpf/verifier.c return &env->insn_aux_data[env->insn_idx]; insn_idx 4348 kernel/bpf/verifier.c ret = push_stack(env, env->insn_idx + 1, env->insn_idx, true); insn_idx 5045 kernel/bpf/verifier.c dst_reg->subreg_def = env->insn_idx + 1; insn_idx 5867 kernel/bpf/verifier.c struct bpf_insn *insn, int *insn_idx) insn_idx 5932 kernel/bpf/verifier.c *insn_idx += insn->off; insn_idx 5941 kernel/bpf/verifier.c other_branch = push_stack(env, *insn_idx + insn->off + 1, *insn_idx, insn_idx 6181 kernel/bpf/verifier.c regs[BPF_REG_0].subreg_def = env->insn_idx + 1; insn_idx 6882 kernel/bpf/verifier.c if (sl->state.insn_idx != insn || insn_idx 7307 kernel/bpf/verifier.c static int is_state_visited(struct bpf_verifier_env *env, int insn_idx) insn_idx 7316 kernel/bpf/verifier.c if (!env->insn_aux_data[insn_idx].prune_point) insn_idx 7334 kernel/bpf/verifier.c pprev = explored_state(env, insn_idx); insn_idx 7337 kernel/bpf/verifier.c clean_live_states(env, insn_idx, cur); insn_idx 7341 kernel/bpf/verifier.c if (sl->state.insn_idx != insn_idx) insn_idx 7346 kernel/bpf/verifier.c verbose_linfo(env, insn_idx, "; "); insn_idx 7347 kernel/bpf/verifier.c verbose(env, "infinite loop detected at insn %d\n", insn_idx); insn_idx 7470 kernel/bpf/verifier.c new->insn_idx = insn_idx; insn_idx 7472 kernel/bpf/verifier.c "BUG is_state_visited:branches_to_explore=%d insn %d\n", new->branches, insn_idx); insn_idx 7475 kernel/bpf/verifier.c cur->first_insn_idx = insn_idx; insn_idx 7477 kernel/bpf/verifier.c new_sl->next = *explored_state(env, insn_idx); insn_idx 7478 kernel/bpf/verifier.c *explored_state(env, insn_idx) = new_sl; insn_idx 7583 kernel/bpf/verifier.c if (env->insn_idx >= insn_cnt) { insn_idx 7585 kernel/bpf/verifier.c env->insn_idx, insn_cnt); insn_idx 7589 kernel/bpf/verifier.c insn = &insns[env->insn_idx]; insn_idx 7599 kernel/bpf/verifier.c err = is_state_visited(env, env->insn_idx); insn_idx 7607 kernel/bpf/verifier.c env->prev_insn_idx, env->insn_idx, insn_idx 7611 kernel/bpf/verifier.c verbose(env, "%d: safe\n", env->insn_idx); insn_idx 7625 kernel/bpf/verifier.c verbose(env, "%d:", env->insn_idx); insn_idx 7628 kernel/bpf/verifier.c env->prev_insn_idx, env->insn_idx, insn_idx 7641 kernel/bpf/verifier.c verbose_linfo(env, env->insn_idx, "; "); insn_idx 7642 kernel/bpf/verifier.c verbose(env, "%d: ", env->insn_idx); insn_idx 7647 kernel/bpf/verifier.c err = bpf_prog_offload_verify_insn(env, env->insn_idx, insn_idx 7654 kernel/bpf/verifier.c env->insn_aux_data[env->insn_idx].seen = true; insn_idx 7655 kernel/bpf/verifier.c prev_insn_idx = env->insn_idx; insn_idx 7681 kernel/bpf/verifier.c err = check_mem_access(env, env->insn_idx, insn->src_reg, insn_idx 7687 kernel/bpf/verifier.c prev_src_type = &env->insn_aux_data[env->insn_idx].ptr_type; insn_idx 7712 kernel/bpf/verifier.c err = check_xadd(env, env->insn_idx, insn); insn_idx 7715 kernel/bpf/verifier.c env->insn_idx++; insn_idx 7731 kernel/bpf/verifier.c err = check_mem_access(env, env->insn_idx, insn->dst_reg, insn_idx 7737 kernel/bpf/verifier.c prev_dst_type = &env->insn_aux_data[env->insn_idx].ptr_type; insn_idx 7765 kernel/bpf/verifier.c err = check_mem_access(env, env->insn_idx, insn->dst_reg, insn_idx 7793 kernel/bpf/verifier.c err = check_func_call(env, insn, &env->insn_idx); insn_idx 7795 kernel/bpf/verifier.c err = check_helper_call(env, insn->imm, env->insn_idx); insn_idx 7809 kernel/bpf/verifier.c env->insn_idx += insn->off + 1; insn_idx 7829 kernel/bpf/verifier.c err = prepare_func_exit(env, &env->insn_idx); insn_idx 7861 kernel/bpf/verifier.c &env->insn_idx); insn_idx 7871 kernel/bpf/verifier.c err = check_cond_jmp_op(env, insn, &env->insn_idx); insn_idx 7888 kernel/bpf/verifier.c env->insn_idx++; insn_idx 7889 kernel/bpf/verifier.c env->insn_aux_data[env->insn_idx].seen = true; insn_idx 7899 kernel/bpf/verifier.c env->insn_idx++; insn_idx 350 samples/bpf/bpf_load.c unsigned int insn_idx; insn_idx 356 samples/bpf/bpf_load.c insn_idx = rel.r_offset / sizeof(struct bpf_insn); insn_idx 360 samples/bpf/bpf_load.c if (insn[insn_idx].code != (BPF_LD | BPF_IMM | BPF_DW)) { insn_idx 362 samples/bpf/bpf_load.c insn_idx, insn[insn_idx].code); insn_idx 365 samples/bpf/bpf_load.c insn[insn_idx].src_reg = BPF_PSEUDO_MAP_FD; insn_idx 375 samples/bpf/bpf_load.c insn[insn_idx].imm = maps[map_idx].fd; insn_idx 378 samples/bpf/bpf_load.c insn_idx); insn_idx 170 tools/lib/bpf/libbpf.c int insn_idx; insn_idx 1747 tools/lib/bpf/libbpf.c unsigned int insn_idx; insn_idx 1773 tools/lib/bpf/libbpf.c insn_idx = rel.r_offset / sizeof(struct bpf_insn); insn_idx 1775 tools/lib/bpf/libbpf.c insn_idx, shdr_idx); insn_idx 1779 tools/lib/bpf/libbpf.c name, shdr_idx, insn_idx, insn_idx 1780 tools/lib/bpf/libbpf.c insns[insn_idx].code); insn_idx 1789 tools/lib/bpf/libbpf.c if (insns[insn_idx].code == (BPF_JMP | BPF_CALL)) { insn_idx 1790 tools/lib/bpf/libbpf.c if (insns[insn_idx].src_reg != BPF_PSEUDO_CALL) { insn_idx 1795 tools/lib/bpf/libbpf.c prog->reloc_desc[i].insn_idx = insn_idx; insn_idx 1801 tools/lib/bpf/libbpf.c if (insns[insn_idx].code != (BPF_LD | BPF_IMM | BPF_DW)) { insn_idx 1803 tools/lib/bpf/libbpf.c insn_idx, insns[insn_idx].code); insn_idx 1813 tools/lib/bpf/libbpf.c name, insn_idx, insns[insn_idx].code); insn_idx 1818 tools/lib/bpf/libbpf.c name, insn_idx); insn_idx 1833 tools/lib/bpf/libbpf.c insn_idx); insn_idx 1846 tools/lib/bpf/libbpf.c prog->reloc_desc[i].insn_idx = insn_idx; insn_idx 2795 tools/lib/bpf/libbpf.c int insn_idx; insn_idx 2800 tools/lib/bpf/libbpf.c insn_idx = insn_off / sizeof(struct bpf_insn); insn_idx 2802 tools/lib/bpf/libbpf.c insn = &prog->insns[insn_idx]; insn_idx 2813 tools/lib/bpf/libbpf.c insn_idx, orig_off, new_off); insn_idx 2817 tools/lib/bpf/libbpf.c insn_idx, insn->code, insn->src_reg, insn->dst_reg, insn_idx 3209 tools/lib/bpf/libbpf.c relo->insn_idx, relo->text_off); insn_idx 3243 tools/lib/bpf/libbpf.c insn = &prog->insns[relo->insn_idx]; insn_idx 3244 tools/lib/bpf/libbpf.c insn->imm += prog->main_prog_cnt - relo->insn_idx; insn_idx 3271 tools/lib/bpf/libbpf.c int insn_idx, map_idx; insn_idx 3273 tools/lib/bpf/libbpf.c insn_idx = prog->reloc_desc[i].insn_idx; insn_idx 3276 tools/lib/bpf/libbpf.c if (insn_idx + 1 >= (int)prog->insns_cnt) { insn_idx 3283 tools/lib/bpf/libbpf.c insns[insn_idx].src_reg = BPF_PSEUDO_MAP_FD; insn_idx 3285 tools/lib/bpf/libbpf.c insns[insn_idx].src_reg = BPF_PSEUDO_MAP_VALUE; insn_idx 3286 tools/lib/bpf/libbpf.c insns[insn_idx + 1].imm = insns[insn_idx].imm; insn_idx 3288 tools/lib/bpf/libbpf.c insns[insn_idx].imm = obj->maps[map_idx].fd;