Lines Matching defs:ksym

137 	INIT_LIST_HEAD_RCU(&fp->aux->ksym.lnode);
561 prog->aux->ksym.start = (unsigned long) prog->bpf_func;
562 prog->aux->ksym.end = prog->aux->ksym.start + prog->jited_len;
568 char *sym = prog->aux->ksym.name;
620 const struct bpf_ksym *ksym;
622 ksym = container_of(n, struct bpf_ksym, tnode);
624 if (val < ksym->start)
628 * trace. Therefore, do val > ksym->end instead of val >= ksym->end.
630 if (val > ksym->end)
645 void bpf_ksym_add(struct bpf_ksym *ksym)
648 WARN_ON_ONCE(!list_empty(&ksym->lnode));
649 list_add_tail_rcu(&ksym->lnode, &bpf_kallsyms);
650 latch_tree_insert(&ksym->tnode, &bpf_tree, &bpf_tree_ops);
654 static void __bpf_ksym_del(struct bpf_ksym *ksym)
656 if (list_empty(&ksym->lnode))
659 latch_tree_erase(&ksym->tnode, &bpf_tree, &bpf_tree_ops);
660 list_del_rcu(&ksym->lnode);
663 void bpf_ksym_del(struct bpf_ksym *ksym)
666 __bpf_ksym_del(ksym);
683 fp->aux->ksym.prog = true;
685 bpf_ksym_add(&fp->aux->ksym);
696 "__cfi_%s", fp->aux->ksym.name);
710 bpf_ksym_del(&fp->aux->ksym);
729 struct bpf_ksym *ksym;
733 ksym = bpf_ksym_find(addr);
734 if (ksym) {
735 unsigned long symbol_start = ksym->start;
736 unsigned long symbol_end = ksym->end;
738 ret = strscpy(sym, ksym->name, KSYM_NAME_LEN);
763 struct bpf_ksym *ksym;
766 ksym = bpf_ksym_find(addr);
768 return ksym && ksym->prog ?
769 container_of(ksym, struct bpf_prog_aux, ksym)->prog :
775 struct bpf_ksym *ksym;
780 ksym = bpf_ksym_find(ip);
781 if (!ksym || !ksym->fp_start || !ksym->fp_end)
784 offset = ip - ksym->start;
786 return offset >= ksym->fp_start && offset < ksym->fp_end;
810 struct bpf_ksym *ksym;
818 list_for_each_entry_rcu(ksym, &bpf_kallsyms, lnode) {
822 strscpy(sym, ksym->name, KSYM_NAME_LEN);
824 *value = ksym->start;
1357 if (prog->aux->ksym.prog)
1358 return prog->aux->ksym.name;
3177 ksyms = aux->real_func_cnt || !list_empty(&aux->ksym.lnode);