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()
253 void __percpu *pptr = htab_elem_get_ptr(elem, htab->map.key_size); in htab_free_prealloced_fields()
261 bpf_obj_free_fields(htab->map.record, elem->key + round_up(htab->map.key_size, 8)); in htab_free_prealloced_fields()
279 htab->map.key_size); in htab_free_elems()
307 memcpy(l->key, key, htab->map.key_size); in prealloc_lru_pop()
338 htab_elem_set_ptr(get_htab_elem(htab, i), htab->map.key_size, in prealloc_init()
446 if (attr->max_entries == 0 || attr->key_size == 0 || in htab_map_alloc_check()
450 if ((u64)attr->key_size + attr->value_size >= KMALLOC_MAX_SIZE - in htab_map_alloc_check()
502 round_up(htab->map.key_size, 8); in htab_map_alloc()
628 void *key, u32 key_size) in lookup_elem_raw() argument
634 if (l->hash == hash && !memcmp(&l->key, key, key_size)) in lookup_elem_raw()
646 u32 key_size, u32 n_buckets) in lookup_nulls_elem_raw() argument
653 if (l->hash == hash && !memcmp(&l->key, key, key_size)) in lookup_nulls_elem_raw()
672 u32 hash, key_size; in __htab_map_lookup_elem() local
677 key_size = map->key_size; in __htab_map_lookup_elem()
679 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_map_lookup_elem()
683 l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); in __htab_map_lookup_elem()
693 return l->key + round_up(map->key_size, 8); in htab_map_lookup_elem()
720 round_up(map->key_size, 8)); in htab_map_gen_lookup()
732 return l->key + round_up(map->key_size, 8); in __htab_lru_map_lookup_elem()
769 round_up(map->key_size, 8)); in htab_lru_map_gen_lookup()
777 void __percpu *pptr = htab_elem_get_ptr(elem, htab->map.key_size); in check_and_free_fields()
783 void *map_value = elem->key + round_up(htab->map.key_size, 8); in check_and_free_fields()
829 u32 hash, key_size; in htab_map_get_next_key() local
834 key_size = map->key_size; in htab_map_get_next_key()
839 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_get_next_key()
844 l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); in htab_map_get_next_key()
855 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
873 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
991 void *value, u32 key_size, u32 hash, in alloc_htab_elem() argument
1035 memcpy(l_new->key, key, key_size); in alloc_htab_elem()
1038 pptr = htab_elem_get_ptr(l_new, key_size); in alloc_htab_elem()
1054 htab_elem_set_ptr(l_new, key_size, pptr); in alloc_htab_elem()
1057 memcpy(l_new->key + round_up(key_size, 8), value, size); in alloc_htab_elem()
1060 l_new->key + round_up(key_size, 8), in alloc_htab_elem()
1094 u32 key_size, hash; in htab_map_update_elem() local
1104 key_size = map->key_size; in htab_map_update_elem()
1106 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_update_elem()
1115 l_old = lookup_nulls_elem_raw(head, hash, key, key_size, in htab_map_update_elem()
1123 l_old->key + round_up(key_size, 8), in htab_map_update_elem()
1137 l_old = lookup_elem_raw(head, hash, key, key_size); in htab_map_update_elem()
1151 l_old->key + round_up(key_size, 8), in htab_map_update_elem()
1157 l_new = alloc_htab_elem(htab, key, value, key_size, hash, false, false, in htab_map_update_elem()
1197 u32 key_size, hash; in htab_lru_map_update_elem() local
1207 key_size = map->key_size; in htab_lru_map_update_elem()
1209 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_lru_map_update_elem()
1223 l_new->key + round_up(map->key_size, 8), value); in htab_lru_map_update_elem()
1229 l_old = lookup_elem_raw(head, hash, key, key_size); in htab_lru_map_update_elem()
1266 u32 key_size, hash; in __htab_percpu_map_update_elem() local
1276 key_size = map->key_size; in __htab_percpu_map_update_elem()
1278 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_percpu_map_update_elem()
1287 l_old = lookup_elem_raw(head, hash, key, key_size); in __htab_percpu_map_update_elem()
1295 pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), in __htab_percpu_map_update_elem()
1298 l_new = alloc_htab_elem(htab, key, value, key_size, in __htab_percpu_map_update_elem()
1321 u32 key_size, hash; in __htab_lru_percpu_map_update_elem() local
1331 key_size = map->key_size; in __htab_lru_percpu_map_update_elem()
1333 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_lru_percpu_map_update_elem()
1353 l_old = lookup_elem_raw(head, hash, key, key_size); in __htab_lru_percpu_map_update_elem()
1363 pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), in __htab_lru_percpu_map_update_elem()
1366 pcpu_init_value(htab, htab_elem_get_ptr(l_new, key_size), in __htab_lru_percpu_map_update_elem()
1403 u32 hash, key_size; in htab_map_delete_elem() local
1409 key_size = map->key_size; in htab_map_delete_elem()
1411 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_map_delete_elem()
1419 l = lookup_elem_raw(head, hash, key, key_size); in htab_map_delete_elem()
1439 u32 hash, key_size; in htab_lru_map_delete_elem() local
1445 key_size = map->key_size; in htab_lru_map_delete_elem()
1447 hash = htab_map_hash(key, key_size, htab->hashrnd); in htab_lru_map_delete_elem()
1455 l = lookup_elem_raw(head, hash, key, key_size); in htab_lru_map_delete_elem()
1501 bpf_obj_free_timer(htab->map.record, l->key + round_up(htab->map.key_size, 8)); in htab_free_malloced_timers()
1585 u32 hash, key_size; in __htab_map_lookup_and_delete_elem() local
1589 key_size = map->key_size; in __htab_map_lookup_and_delete_elem()
1591 hash = htab_map_hash(key, key_size, htab->hashrnd); in __htab_map_lookup_and_delete_elem()
1599 l = lookup_elem_raw(head, hash, key, key_size); in __htab_map_lookup_and_delete_elem()
1608 pptr = htab_elem_get_ptr(l, key_size); in __htab_map_lookup_and_delete_elem()
1615 u32 roundup_key_size = round_up(map->key_size, 8); in __htab_map_lookup_and_delete_elem()
1679 u32 bucket_cnt, total, key_size, value_size, roundup_key_size; in __htab_map_lookup_and_delete_batch() local
1718 key_size = htab->map.key_size; in __htab_map_lookup_and_delete_batch()
1719 roundup_key_size = round_up(htab->map.key_size, 8); in __htab_map_lookup_and_delete_batch()
1734 keys = kvmalloc_array(key_size, bucket_size, GFP_USER | __GFP_NOWARN); in __htab_map_lookup_and_delete_batch()
1798 memcpy(dst_key, l->key, key_size); in __htab_map_lookup_and_delete_batch()
1804 pptr = htab_elem_get_ptr(l, map->key_size); in __htab_map_lookup_and_delete_batch()
1843 dst_key += key_size; in __htab_map_lookup_and_delete_batch()
1867 if (bucket_cnt && (copy_to_user(ukeys + total * key_size, keys, in __htab_map_lookup_and_delete_batch()
1868 key_size * bucket_cnt) || in __htab_map_lookup_and_delete_batch()
2072 roundup_key_size = round_up(map->key_size, 8); in __bpf_hash_map_seq_show()
2078 pptr = htab_elem_get_ptr(elem, map->key_size); in __bpf_hash_map_seq_show()
2173 roundup_key_size = round_up(map->key_size, 8); in bpf_for_each_hash_elem()
2187 pptr = htab_elem_get_ptr(elem, map->key_size); in bpf_for_each_hash_elem()
2297 return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); in htab_percpu_map_lookup_elem()
2311 return per_cpu_ptr(htab_elem_get_ptr(l, map->key_size), cpu); in htab_percpu_map_lookup_percpu_elem()
2322 return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); in htab_lru_percpu_map_lookup_elem()
2338 return per_cpu_ptr(htab_elem_get_ptr(l, map->key_size), cpu); in htab_lru_percpu_map_lookup_percpu_elem()
2364 pptr = htab_elem_get_ptr(l, map->key_size); in bpf_percpu_hash_copy()
2411 pptr = htab_elem_get_ptr(l, map->key_size); in htab_percpu_map_seq_show_elem()
2571 round_up(map->key_size, 8)); in htab_of_map_gen_lookup()