Lines Matching defs:nmap

335 	struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
338 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++)
339 if (nsim_map_key_match(&offmap->map, &nmap->entry[i], key))
348 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
350 nmap->entry[idx].key = kmalloc(offmap->map.key_size,
352 if (!nmap->entry[idx].key)
354 nmap->entry[idx].value = kmalloc(offmap->map.value_size,
356 if (!nmap->entry[idx].value) {
357 kfree(nmap->entry[idx].key);
358 nmap->entry[idx].key = NULL;
369 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
372 mutex_lock(&nmap->mutex);
381 for (; idx < ARRAY_SIZE(nmap->entry); idx++) {
382 if (nmap->entry[idx].key) {
383 memcpy(next_key, nmap->entry[idx].key,
389 mutex_unlock(&nmap->mutex);
391 if (idx == ARRAY_SIZE(nmap->entry))
399 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
402 mutex_lock(&nmap->mutex);
406 memcpy(value, nmap->entry[idx].value, offmap->map.value_size);
408 mutex_unlock(&nmap->mutex);
417 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
420 mutex_lock(&nmap->mutex);
433 for (idx = 0; idx < ARRAY_SIZE(nmap->entry); idx++)
434 if (!nmap->entry[idx].key)
436 if (idx == ARRAY_SIZE(nmap->entry)) {
446 memcpy(nmap->entry[idx].key, key, offmap->map.key_size);
447 memcpy(nmap->entry[idx].value, value, offmap->map.value_size);
449 mutex_unlock(&nmap->mutex);
456 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
462 mutex_lock(&nmap->mutex);
466 kfree(nmap->entry[idx].key);
467 kfree(nmap->entry[idx].value);
468 memset(&nmap->entry[idx], 0, sizeof(nmap->entry[idx]));
471 mutex_unlock(&nmap->mutex);
486 struct nsim_bpf_bound_map *nmap;
497 nmap = kzalloc(sizeof(*nmap), GFP_KERNEL_ACCOUNT);
498 if (!nmap)
501 offmap->dev_priv = nmap;
502 nmap->ns = ns;
503 nmap->map = offmap;
504 mutex_init(&nmap->mutex);
507 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++) {
513 key = nmap->entry[i].key;
515 memset(nmap->entry[i].value, 0, offmap->map.value_size);
520 list_add_tail(&nmap->l, &ns->nsim_dev->bpf_bound_maps);
526 kfree(nmap->entry[i].key);
527 kfree(nmap->entry[i].value);
529 kfree(nmap);
535 struct nsim_bpf_bound_map *nmap = offmap->dev_priv;
538 for (i = 0; i < ARRAY_SIZE(nmap->entry); i++) {
539 kfree(nmap->entry[i].key);
540 kfree(nmap->entry[i].value);
542 list_del_init(&nmap->l);
543 mutex_destroy(&nmap->mutex);
544 kfree(nmap);