Lines Matching refs:key_size
194 static inline void htab_elem_set_ptr(struct htab_elem *l, u32 key_size, in htab_elem_set_ptr() argument
197 *(void __percpu **)(l->key + key_size) = pptr; in htab_elem_set_ptr()
200 static inline void __percpu *htab_elem_get_ptr(struct htab_elem *l, u32 key_size) in htab_elem_get_ptr() argument
202 return *(void __percpu **)(l->key + key_size); in htab_elem_get_ptr()
207 return *(void **)(l->key + roundup(map->key_size, 8)); in fd_htab_map_get_ptr()
234 bpf_obj_free_timer(htab->map.record, elem->key + round_up(htab->map.key_size, 8)); in htab_free_prealloced_timers()
252 bpf_obj_free_fields(htab->map.record, elem->key + round_up(htab->map.key_size, 8)); in htab_free_prealloced_fields()
268 htab->map.key_size); in htab_free_elems()
295 memcpy(l->key, key, htab->map.key_size); in prealloc_lru_pop()
326 htab_elem_set_ptr(get_htab_elem(htab, i), htab->map.key_size, in prealloc_init()
440 if (attr->max_entries == 0 || attr->key_size == 0 || in htab_map_alloc_check()
444 if ((u64)attr->key_size + attr->value_size >= KMALLOC_MAX_SIZE - in htab_map_alloc_check()
496 round_up(htab->map.key_size, 8); in htab_map_alloc()
614 void *key, u32 key_size) in lookup_elem_raw() argument
620 if (l->hash == hash && !memcmp(&l->key, key, key_size)) in lookup_elem_raw()
632 u32 key_size, u32 n_buckets) in lookup_nulls_elem_raw() argument
639 if (l->hash == hash && !memcmp(&l->key, key, key_size)) in lookup_nulls_elem_raw()
658 u32 hash, key_size; in __htab_map_lookup_elem() local
663 key_size = map->key_size; in __htab_map_lookup_elem()
665 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_map_lookup_elem()
669 l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); in __htab_map_lookup_elem()
679 return l->key + round_up(map->key_size, 8); in htab_map_lookup_elem()
706 round_up(map->key_size, 8)); in htab_map_gen_lookup()
718 return l->key + round_up(map->key_size, 8); in __htab_lru_map_lookup_elem()
755 round_up(map->key_size, 8)); in htab_lru_map_gen_lookup()
762 void *map_value = elem->key + round_up(htab->map.key_size, 8); in check_and_free_fields()
806 u32 hash, key_size; in htab_map_get_next_key() local
811 key_size = map->key_size; in htab_map_get_next_key()
816 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_get_next_key()
821 l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); in htab_map_get_next_key()
832 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
850 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
966 void *value, u32 key_size, u32 hash, in alloc_htab_elem() argument
1009 memcpy(l_new->key, key, key_size); in alloc_htab_elem()
1012 pptr = htab_elem_get_ptr(l_new, key_size); in alloc_htab_elem()
1028 htab_elem_set_ptr(l_new, key_size, pptr); in alloc_htab_elem()
1031 memcpy(l_new->key + round_up(key_size, 8), value, size); in alloc_htab_elem()
1034 l_new->key + round_up(key_size, 8), in alloc_htab_elem()
1068 u32 key_size, hash; in htab_map_update_elem() local
1078 key_size = map->key_size; in htab_map_update_elem()
1080 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_update_elem()
1089 l_old = lookup_nulls_elem_raw(head, hash, key, key_size, in htab_map_update_elem()
1097 l_old->key + round_up(key_size, 8), in htab_map_update_elem()
1111 l_old = lookup_elem_raw(head, hash, key, key_size); in htab_map_update_elem()
1125 l_old->key + round_up(key_size, 8), in htab_map_update_elem()
1131 l_new = alloc_htab_elem(htab, key, value, key_size, hash, false, false, in htab_map_update_elem()
1170 u32 key_size, hash; in htab_lru_map_update_elem() local
1180 key_size = map->key_size; in htab_lru_map_update_elem()
1182 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_lru_map_update_elem()
1196 l_new->key + round_up(map->key_size, 8), value); in htab_lru_map_update_elem()
1202 l_old = lookup_elem_raw(head, hash, key, key_size); in htab_lru_map_update_elem()
1238 u32 key_size, hash; in __htab_percpu_map_update_elem() local
1248 key_size = map->key_size; in __htab_percpu_map_update_elem()
1250 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_percpu_map_update_elem()
1259 l_old = lookup_elem_raw(head, hash, key, key_size); in __htab_percpu_map_update_elem()
1267 pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), in __htab_percpu_map_update_elem()
1270 l_new = alloc_htab_elem(htab, key, value, key_size, in __htab_percpu_map_update_elem()
1293 u32 key_size, hash; in __htab_lru_percpu_map_update_elem() local
1303 key_size = map->key_size; in __htab_lru_percpu_map_update_elem()
1305 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_lru_percpu_map_update_elem()
1325 l_old = lookup_elem_raw(head, hash, key, key_size); in __htab_lru_percpu_map_update_elem()
1335 pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), in __htab_lru_percpu_map_update_elem()
1338 pcpu_init_value(htab, htab_elem_get_ptr(l_new, key_size), in __htab_lru_percpu_map_update_elem()
1372 u32 hash, key_size; in htab_map_delete_elem() local
1378 key_size = map->key_size; in htab_map_delete_elem()
1380 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_delete_elem()
1388 l = lookup_elem_raw(head, hash, key, key_size); in htab_map_delete_elem()
1408 u32 hash, key_size; in htab_lru_map_delete_elem() local
1414 key_size = map->key_size; in htab_lru_map_delete_elem()
1416 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_lru_map_delete_elem()
1424 l = lookup_elem_raw(head, hash, key, key_size); in htab_lru_map_delete_elem()
1470 bpf_obj_free_timer(htab->map.record, l->key + round_up(htab->map.key_size, 8)); in htab_free_malloced_timers()
1553 u32 hash, key_size; in __htab_map_lookup_and_delete_elem() local
1557 key_size = map->key_size; in __htab_map_lookup_and_delete_elem()
1559 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_map_lookup_and_delete_elem()
1567 l = lookup_elem_raw(head, hash, key, key_size); in __htab_map_lookup_and_delete_elem()
1576 pptr = htab_elem_get_ptr(l, key_size); in __htab_map_lookup_and_delete_elem()
1584 u32 roundup_key_size = round_up(map->key_size, 8); in __htab_map_lookup_and_delete_elem()
1648 u32 bucket_cnt, total, key_size, value_size, roundup_key_size; in __htab_map_lookup_and_delete_batch() local
1687 key_size = htab->map.key_size; in __htab_map_lookup_and_delete_batch()
1688 roundup_key_size = round_up(htab->map.key_size, 8); in __htab_map_lookup_and_delete_batch()
1703 keys = kvmalloc_array(key_size, bucket_size, GFP_USER | __GFP_NOWARN); in __htab_map_lookup_and_delete_batch()
1767 memcpy(dst_key, l->key, key_size); in __htab_map_lookup_and_delete_batch()
1773 pptr = htab_elem_get_ptr(l, map->key_size); in __htab_map_lookup_and_delete_batch()
1812 dst_key += key_size; in __htab_map_lookup_and_delete_batch()
1836 if (bucket_cnt && (copy_to_user(ukeys + total * key_size, keys, in __htab_map_lookup_and_delete_batch()
1837 key_size * bucket_cnt) || in __htab_map_lookup_and_delete_batch()
2041 roundup_key_size = round_up(map->key_size, 8); in __bpf_hash_map_seq_show()
2047 pptr = htab_elem_get_ptr(elem, map->key_size); in __bpf_hash_map_seq_show()
2142 roundup_key_size = round_up(map->key_size, 8); in bpf_for_each_hash_elem()
2156 pptr = htab_elem_get_ptr(elem, map->key_size); in bpf_for_each_hash_elem()
2226 return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); in htab_percpu_map_lookup_elem()
2240 return per_cpu_ptr(htab_elem_get_ptr(l, map->key_size), cpu); in htab_percpu_map_lookup_percpu_elem()
2251 return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); in htab_lru_percpu_map_lookup_elem()
2267 return per_cpu_ptr(htab_elem_get_ptr(l, map->key_size), cpu); in htab_lru_percpu_map_lookup_percpu_elem()
2293 pptr = htab_elem_get_ptr(l, map->key_size); in bpf_percpu_hash_copy()
2340 pptr = htab_elem_get_ptr(l, map->key_size); in htab_percpu_map_seq_show_elem()
2498 round_up(map->key_size, 8)); in htab_of_map_gen_lookup()