Lines Matching refs:ksym
122 INIT_LIST_HEAD_RCU(&fp->aux->ksym.lnode); in bpf_prog_alloc_no_stats()
555 prog->aux->ksym.start = (unsigned long) prog->bpf_func; in bpf_prog_ksym_set_addr()
556 prog->aux->ksym.end = prog->aux->ksym.start + prog->jited_len; in bpf_prog_ksym_set_addr()
562 char *sym = prog->aux->ksym.name; in bpf_prog_ksym_set_name()
610 const struct bpf_ksym *ksym; in bpf_tree_comp() local
612 ksym = container_of(n, struct bpf_ksym, tnode); in bpf_tree_comp()
614 if (val < ksym->start) in bpf_tree_comp()
616 if (val >= ksym->end) in bpf_tree_comp()
631 void bpf_ksym_add(struct bpf_ksym *ksym) in bpf_ksym_add() argument
634 WARN_ON_ONCE(!list_empty(&ksym->lnode)); in bpf_ksym_add()
635 list_add_tail_rcu(&ksym->lnode, &bpf_kallsyms); in bpf_ksym_add()
636 latch_tree_insert(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in bpf_ksym_add()
640 static void __bpf_ksym_del(struct bpf_ksym *ksym) in __bpf_ksym_del() argument
642 if (list_empty(&ksym->lnode)) in __bpf_ksym_del()
645 latch_tree_erase(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in __bpf_ksym_del()
646 list_del_rcu(&ksym->lnode); in __bpf_ksym_del()
649 void bpf_ksym_del(struct bpf_ksym *ksym) in bpf_ksym_del() argument
652 __bpf_ksym_del(ksym); in bpf_ksym_del()
669 fp->aux->ksym.prog = true; in bpf_prog_kallsyms_add()
671 bpf_ksym_add(&fp->aux->ksym); in bpf_prog_kallsyms_add()
679 bpf_ksym_del(&fp->aux->ksym); in bpf_prog_kallsyms_del()
693 struct bpf_ksym *ksym; in __bpf_address_lookup() local
697 ksym = bpf_ksym_find(addr); in __bpf_address_lookup()
698 if (ksym) { in __bpf_address_lookup()
699 unsigned long symbol_start = ksym->start; in __bpf_address_lookup()
700 unsigned long symbol_end = ksym->end; in __bpf_address_lookup()
702 strncpy(sym, ksym->name, KSYM_NAME_LEN); in __bpf_address_lookup()
728 struct bpf_ksym *ksym = bpf_ksym_find(addr); in bpf_prog_ksym_find() local
730 return ksym && ksym->prog ? in bpf_prog_ksym_find()
731 container_of(ksym, struct bpf_prog_aux, ksym)->prog : in bpf_prog_ksym_find()
756 struct bpf_ksym *ksym; in bpf_get_kallsym() local
764 list_for_each_entry_rcu(ksym, &bpf_kallsyms, lnode) { in bpf_get_kallsym()
768 strncpy(sym, ksym->name, KSYM_NAME_LEN); in bpf_get_kallsym()
770 *value = ksym->start; in bpf_get_kallsym()