函数源码 |
Source File:kernel\bpf\devmap.c |
Create Date:2022-07-27 14:40:07 |
首页 | Copyright©Brick |
561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 | static int dev_map_hash_delete_elem( struct bpf_map *map, void *key) { struct bpf_dtab *dtab = container_of(map, struct bpf_dtab, map); struct bpf_dtab_netdev *old_dev; int k = *(u32 *)key; unsigned long flags; int ret = -ENOENT; spin_lock_irqsave(&dtab->index_lock, flags); old_dev = __dev_map_hash_lookup_elem(map, k); if (old_dev) { dtab->items--; hlist_del_init_rcu(&old_dev->index_hlist); call_rcu(&old_dev->rcu, __dev_map_entry_free); ret = 0; } spin_unlock_irqrestore(&dtab->index_lock, flags); return ret; } |