Lines Matching defs:nmap
336 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
339 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++)
340 if (nsim_map_key_match(&offmap->map, &nmap->entry[i], key))
349 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
351 nmap->entry[idx].key = kmalloc(offmap->map.key_size,
353 if (!nmap->entry[idx].key)
355 nmap->entry[idx].value = kmalloc(offmap->map.value_size,
357 if (!nmap->entry[idx].value) {
358 kfree(nmap->entry[idx].key);
359 nmap->entry[idx].key = NULL;
370 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
373 mutex_lock(&nmap->mutex);
382 for (; idx < ARRAY_SIZE(nmap->entry); idx++) {
383 if (nmap->entry[idx].key) {
384 memcpy(next_key, nmap->entry[idx].key,
390 mutex_unlock(&nmap->mutex);
392 if (idx == ARRAY_SIZE(nmap->entry))
400 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
403 mutex_lock(&nmap->mutex);
407 memcpy(value, nmap->entry[idx].value, offmap->map.value_size);
409 mutex_unlock(&nmap->mutex);
418 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
421 mutex_lock(&nmap->mutex);
434 for (idx = 0; idx < ARRAY_SIZE(nmap->entry); idx++)
435 if (!nmap->entry[idx].key)
437 if (idx == ARRAY_SIZE(nmap->entry)) {
447 memcpy(nmap->entry[idx].key, key, offmap->map.key_size);
448 memcpy(nmap->entry[idx].value, value, offmap->map.value_size);
450 mutex_unlock(&nmap->mutex);
457 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
463 mutex_lock(&nmap->mutex);
467 kfree(nmap->entry[idx].key);
468 kfree(nmap->entry[idx].value);
469 memset(&nmap->entry[idx], 0, sizeof(nmap->entry[idx]));
472 mutex_unlock(&nmap->mutex);
487 struct nsim_bpf_bound_map *nmap;
498 nmap = kzalloc_obj(*nmap, GFP_KERNEL_ACCOUNT);
499 if (!nmap)
502 offmap->dev_priv = nmap;
503 nmap->ns = ns;
504 nmap->map = offmap;
505 mutex_init(&nmap->mutex);
508 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++) {
514 key = nmap->entry[i].key;
516 memset(nmap->entry[i].value, 0, offmap->map.value_size);
521 list_add_tail(&nmap->l, &ns->nsim_dev->bpf_bound_maps);
527 kfree(nmap->entry[i].key);
528 kfree(nmap->entry[i].value);
530 kfree(nmap);
536 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
539 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++) {
540 kfree(nmap->entry[i].key);
541 kfree(nmap->entry[i].value);
543 list_del_init(&nmap->l);
544 mutex_destroy(&nmap->mutex);
545 kfree(nmap);