diff --git a/kernel/bpf/devmap.c b/kernel/bpf/devmap.c index 9af048a932b5..1f2353c309ae 100644 --- a/kernel/bpf/devmap.c +++ b/kernel/bpf/devmap.c @@ -664,7 +664,7 @@ static int __dev_map_hash_update_elem(struct net *net, struct bpf_map *map, spin_lock_irqsave(&dtab->index_lock, flags); - if (old_dev) { + if (old_dev && old_dev->index_hlist.pprev != LIST_POISON2) { hlist_del_rcu(&old_dev->index_hlist); } else { if (dtab->items >= dtab->map.max_entries) {