Lines Matching refs:aux

81 	struct bpf_prog_aux *aux;  in bpf_prog_alloc()  local
89 aux = kzalloc(sizeof(*aux), GFP_KERNEL | gfp_extra_flags); in bpf_prog_alloc()
90 if (aux == NULL) { in bpf_prog_alloc()
96 fp->aux = aux; in bpf_prog_alloc()
97 fp->aux->prog = fp; in bpf_prog_alloc()
100 INIT_LIST_HEAD_RCU(&fp->aux->ksym_lnode); in bpf_prog_alloc()
122 ret = __bpf_prog_charge(fp_old->aux->user, delta); in bpf_prog_realloc()
128 __bpf_prog_uncharge(fp_old->aux->user, delta); in bpf_prog_realloc()
132 fp->aux->prog = fp; in bpf_prog_realloc()
137 fp_old->aux = NULL; in bpf_prog_realloc()
146 kfree(fp->aux); in __bpf_prog_free()
357 for (i = 0; i < fp->aux->func_cnt; i++) in bpf_prog_kallsyms_del_subprogs()
358 bpf_prog_kallsyms_del(fp->aux->func[i]); in bpf_prog_kallsyms_del_subprogs()
400 sizeof(prog->aux->name) > KSYM_NAME_LEN); in bpf_get_prog_name()
404 if (prog->aux->name[0]) in bpf_get_prog_name()
405 snprintf(sym, (size_t)(end - sym), "_%s", prog->aux->name); in bpf_get_prog_name()
414 const struct bpf_prog_aux *aux; in bpf_get_prog_addr_start() local
416 aux = container_of(n, struct bpf_prog_aux, ksym_tnode); in bpf_get_prog_addr_start()
417 bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); in bpf_get_prog_addr_start()
432 const struct bpf_prog_aux *aux; in bpf_tree_comp() local
434 aux = container_of(n, struct bpf_prog_aux, ksym_tnode); in bpf_tree_comp()
435 bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); in bpf_tree_comp()
454 static void bpf_prog_ksym_node_add(struct bpf_prog_aux *aux) in bpf_prog_ksym_node_add() argument
456 WARN_ON_ONCE(!list_empty(&aux->ksym_lnode)); in bpf_prog_ksym_node_add()
457 list_add_tail_rcu(&aux->ksym_lnode, &bpf_kallsyms); in bpf_prog_ksym_node_add()
458 latch_tree_insert(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops); in bpf_prog_ksym_node_add()
461 static void bpf_prog_ksym_node_del(struct bpf_prog_aux *aux) in bpf_prog_ksym_node_del() argument
463 if (list_empty(&aux->ksym_lnode)) in bpf_prog_ksym_node_del()
466 latch_tree_erase(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops); in bpf_prog_ksym_node_del()
467 list_del_rcu(&aux->ksym_lnode); in bpf_prog_ksym_node_del()
477 return list_empty(&fp->aux->ksym_lnode) || in bpf_prog_kallsyms_verify_off()
478 fp->aux->ksym_lnode.prev == LIST_POISON2; in bpf_prog_kallsyms_verify_off()
488 bpf_prog_ksym_node_add(fp->aux); in bpf_prog_kallsyms_add()
498 bpf_prog_ksym_node_del(fp->aux); in bpf_prog_kallsyms_del()
554 struct bpf_prog_aux *aux; in bpf_get_kallsym() local
562 list_for_each_entry_rcu(aux, &bpf_kallsyms, ksym_lnode) { in bpf_get_kallsym()
566 bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); in bpf_get_kallsym()
567 bpf_get_prog_name(aux->prog, sym); in bpf_get_kallsym()
635 const struct bpf_insn *aux, in bpf_jit_blind_insn() argument
702 *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ aux[1].imm); in bpf_jit_blind_insn()
705 *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
708 *to++ = BPF_ALU32_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ aux[0].imm); in bpf_jit_blind_insn()
710 *to++ = BPF_ALU64_REG(BPF_OR, aux[0].dst_reg, BPF_REG_AX); in bpf_jit_blind_insn()
753 fp->aux = NULL; in bpf_prog_clone_free()
762 fp->aux->prog = fp; in bpf_jit_prog_release_other()
768 struct bpf_insn insn_buff[16], aux[2]; in bpf_jit_blind_constants() local
791 memcpy(aux, insn, sizeof(aux)); in bpf_jit_blind_constants()
793 rewritten = bpf_jit_blind_insn(insn, aux, insn_buff); in bpf_jit_blind_constants()
1433 struct bpf_prog_aux *aux = fp->aux; in bpf_check_tail_call() local
1436 for (i = 0; i < aux->used_map_cnt; i++) { in bpf_check_tail_call()
1437 struct bpf_map *map = aux->used_maps[i]; in bpf_check_tail_call()
1454 u32 stack_depth = max_t(u32, fp->aux->stack_depth, 1); in bpf_prog_select_func()
1486 if (!bpf_prog_is_dev_bound(fp->aux)) { in bpf_prog_select_runtime()
1586 prog_ids[i] = item->prog->aux->id; in bpf_prog_array_copy_core()
1726 struct bpf_prog_aux *aux; in bpf_prog_free_deferred() local
1729 aux = container_of(work, struct bpf_prog_aux, work); in bpf_prog_free_deferred()
1730 if (bpf_prog_is_dev_bound(aux)) in bpf_prog_free_deferred()
1731 bpf_prog_offload_destroy(aux->prog); in bpf_prog_free_deferred()
1733 if (aux->prog->has_callchain_buf) in bpf_prog_free_deferred()
1736 for (i = 0; i < aux->func_cnt; i++) in bpf_prog_free_deferred()
1737 bpf_jit_free(aux->func[i]); in bpf_prog_free_deferred()
1738 if (aux->func_cnt) { in bpf_prog_free_deferred()
1739 kfree(aux->func); in bpf_prog_free_deferred()
1740 bpf_prog_unlock_free(aux->prog); in bpf_prog_free_deferred()
1742 bpf_jit_free(aux->prog); in bpf_prog_free_deferred()
1749 struct bpf_prog_aux *aux = fp->aux; in bpf_prog_free() local
1751 INIT_WORK(&aux->work, bpf_prog_free_deferred); in bpf_prog_free()
1752 schedule_work(&aux->work); in bpf_prog_free()