Lines Matching defs:aux
690 struct bpf_iter_aux_info *aux)
693 struct bpf_map *map = aux->map;
910 mutex_lock(&array->aux->poke_mutex);
913 mutex_unlock(&array->aux->poke_mutex);
933 mutex_lock(&array->aux->poke_mutex);
936 mutex_unlock(&array->aux->poke_mutex);
969 mutex_lock(&prog->aux->ext_mutex);
970 is_extended = prog->aux->is_extended;
972 prog->aux->prog_array_member_cnt++;
973 mutex_unlock(&prog->aux->ext_mutex);
991 mutex_lock(&prog->aux->ext_mutex);
992 prog->aux->prog_array_member_cnt--;
993 mutex_unlock(&prog->aux->ext_mutex);
1000 return ((struct bpf_prog *)ptr)->aux->id;
1038 struct bpf_prog_aux *aux;
1045 struct bpf_array_aux *aux;
1048 aux = container_of(map, struct bpf_array, map)->aux;
1049 mutex_lock(&aux->poke_mutex);
1050 list_for_each_entry(elem, &aux->poke_progs, list) {
1051 if (elem->aux == prog_aux)
1062 /* We must track the program's aux info at this point in time
1066 elem->aux = prog_aux;
1068 list_add_tail(&elem->list, &aux->poke_progs);
1070 mutex_unlock(&aux->poke_mutex);
1078 struct bpf_array_aux *aux;
1080 aux = container_of(map, struct bpf_array, map)->aux;
1081 mutex_lock(&aux->poke_mutex);
1082 list_for_each_entry_safe(elem, tmp, &aux->poke_progs, list) {
1083 if (elem->aux == prog_aux) {
1089 mutex_unlock(&aux->poke_mutex);
1103 struct bpf_array_aux *aux;
1105 aux = container_of(map, struct bpf_array, map)->aux;
1106 WARN_ON_ONCE(!mutex_is_locked(&aux->poke_mutex));
1108 list_for_each_entry(elem, &aux->poke_progs, list) {
1112 for (i = 0; i < elem->aux->size_poke_tab; i++) {
1113 poke = &elem->aux->poke_tab[i];
1117 * 1) We can only ever access aux in this context, but
1118 * not aux->prog since it might not be stable yet and
1120 * 2) Initially when we start tracking aux, the program
1157 struct bpf_array_aux *aux = container_of(map, struct bpf_array,
1158 map)->aux;
1160 schedule_work(&aux->work);
1165 struct bpf_array_aux *aux;
1168 aux = kzalloc(sizeof(*aux), GFP_KERNEL_ACCOUNT);
1169 if (!aux)
1172 INIT_WORK(&aux->work, prog_array_map_clear_deferred);
1173 INIT_LIST_HEAD(&aux->poke_progs);
1174 mutex_init(&aux->poke_mutex);
1178 kfree(aux);
1182 container_of(map, struct bpf_array, map)->aux = aux;
1183 aux->map = map;
1191 struct bpf_array_aux *aux;
1193 aux = container_of(map, struct bpf_array, map)->aux;
1194 list_for_each_entry_safe(elem, tmp, &aux->poke_progs, list) {
1198 kfree(aux);
1202 /* prog_array->aux->{type,jited} is a runtime binding.