Lines Matching refs:ksym

109 	INIT_LIST_HEAD_RCU(&fp->aux->ksym.lnode);  in bpf_prog_alloc_no_stats()
545 prog->aux->ksym.start = (unsigned long) prog->bpf_func; in bpf_prog_ksym_set_addr()
546 prog->aux->ksym.end = addr + hdr->pages * PAGE_SIZE; in bpf_prog_ksym_set_addr()
552 char *sym = prog->aux->ksym.name; in bpf_prog_ksym_set_name()
600 const struct bpf_ksym *ksym; in bpf_tree_comp() local
602 ksym = container_of(n, struct bpf_ksym, tnode); in bpf_tree_comp()
604 if (val < ksym->start) in bpf_tree_comp()
606 if (val >= ksym->end) in bpf_tree_comp()
621 void bpf_ksym_add(struct bpf_ksym *ksym) in bpf_ksym_add() argument
624 WARN_ON_ONCE(!list_empty(&ksym->lnode)); in bpf_ksym_add()
625 list_add_tail_rcu(&ksym->lnode, &bpf_kallsyms); in bpf_ksym_add()
626 latch_tree_insert(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in bpf_ksym_add()
630 static void __bpf_ksym_del(struct bpf_ksym *ksym) in __bpf_ksym_del() argument
632 if (list_empty(&ksym->lnode)) in __bpf_ksym_del()
635 latch_tree_erase(&ksym->tnode, &bpf_tree, &bpf_tree_ops); in __bpf_ksym_del()
636 list_del_rcu(&ksym->lnode); in __bpf_ksym_del()
639 void bpf_ksym_del(struct bpf_ksym *ksym) in bpf_ksym_del() argument
642 __bpf_ksym_del(ksym); in bpf_ksym_del()
653 return list_empty(&fp->aux->ksym.lnode) || in bpf_prog_kallsyms_verify_off()
654 fp->aux->ksym.lnode.prev == LIST_POISON2; in bpf_prog_kallsyms_verify_off()
665 fp->aux->ksym.prog = true; in bpf_prog_kallsyms_add()
667 bpf_ksym_add(&fp->aux->ksym); in bpf_prog_kallsyms_add()
675 bpf_ksym_del(&fp->aux->ksym); in bpf_prog_kallsyms_del()
689 struct bpf_ksym *ksym; in __bpf_address_lookup() local
693 ksym = bpf_ksym_find(addr); in __bpf_address_lookup()
694 if (ksym) { in __bpf_address_lookup()
695 unsigned long symbol_start = ksym->start; in __bpf_address_lookup()
696 unsigned long symbol_end = ksym->end; in __bpf_address_lookup()
698 strncpy(sym, ksym->name, KSYM_NAME_LEN); in __bpf_address_lookup()
724 struct bpf_ksym *ksym = bpf_ksym_find(addr); in bpf_prog_ksym_find() local
726 return ksym && ksym->prog ? in bpf_prog_ksym_find()
727 container_of(ksym, struct bpf_prog_aux, ksym)->prog : in bpf_prog_ksym_find()
752 struct bpf_ksym *ksym; in bpf_get_kallsym() local
760 list_for_each_entry_rcu(ksym, &bpf_kallsyms, lnode) { in bpf_get_kallsym()
764 strncpy(sym, ksym->name, KSYM_NAME_LEN); in bpf_get_kallsym()
766 *value = ksym->start; in bpf_get_kallsym()