Lines Matching refs:ksym

108 	INIT_LIST_HEAD_RCU(&fp->aux->ksym.lnode);  in bpf_prog_alloc_no_stats()
537 prog->aux->ksym.start = (unsigned long) prog->bpf_func; in bpf_prog_ksym_set_addr()
538 prog->aux->ksym.end = addr + hdr->pages * PAGE_SIZE; in bpf_prog_ksym_set_addr()
544 char *sym = prog->aux->ksym.name; in bpf_prog_ksym_set_name()
592 const struct bpf_ksym *ksym; in bpf_tree_comp() local
594 ksym = container_of(n, struct bpf_ksym, tnode); in bpf_tree_comp()
596 if (val < ksym->start) in bpf_tree_comp()
598 if (val >= ksym->end) in bpf_tree_comp()
613 void bpf_ksym_add(struct bpf_ksym *ksym) in bpf_ksym_add() argument
616 WARN_ON_ONCE(!list_empty(&ksym->lnode)); in bpf_ksym_add()
617 list_add_tail_rcu(&ksym->lnode, &bpf_kallsyms); in bpf_ksym_add()
618 latch_tree_insert(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in bpf_ksym_add()
622 static void __bpf_ksym_del(struct bpf_ksym *ksym) in __bpf_ksym_del() argument
624 if (list_empty(&ksym->lnode)) in __bpf_ksym_del()
627 latch_tree_erase(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in __bpf_ksym_del()
628 list_del_rcu(&ksym->lnode); in __bpf_ksym_del()
631 void bpf_ksym_del(struct bpf_ksym *ksym) in bpf_ksym_del() argument
634 __bpf_ksym_del(ksym); in bpf_ksym_del()
645 return list_empty(&fp->aux->ksym.lnode) || in bpf_prog_kallsyms_verify_off()
646 fp->aux->ksym.lnode.prev == LIST_POISON2; in bpf_prog_kallsyms_verify_off()
657 fp->aux->ksym.prog = true; in bpf_prog_kallsyms_add()
659 bpf_ksym_add(&fp->aux->ksym); in bpf_prog_kallsyms_add()
667 bpf_ksym_del(&fp->aux->ksym); in bpf_prog_kallsyms_del()
681 struct bpf_ksym *ksym; in __bpf_address_lookup() local
685 ksym = bpf_ksym_find(addr); in __bpf_address_lookup()
686 if (ksym) { in __bpf_address_lookup()
687 unsigned long symbol_start = ksym->start; in __bpf_address_lookup()
688 unsigned long symbol_end = ksym->end; in __bpf_address_lookup()
690 strncpy(sym, ksym->name, KSYM_NAME_LEN); in __bpf_address_lookup()
716 struct bpf_ksym *ksym = bpf_ksym_find(addr); in bpf_prog_ksym_find() local
718 return ksym && ksym->prog ? in bpf_prog_ksym_find()
719 container_of(ksym, struct bpf_prog_aux, ksym)->prog : in bpf_prog_ksym_find()
744 struct bpf_ksym *ksym; in bpf_get_kallsym() local
752 list_for_each_entry_rcu(ksym, &bpf_kallsyms, lnode) { in bpf_get_kallsym()
756 strncpy(sym, ksym->name, KSYM_NAME_LEN); in bpf_get_kallsym()
758 *value = ksym->start; in bpf_get_kallsym()