On Tue, Jun 15, 2021 at 04:54:42PM +0200, Toke Høiland-Jørgensen wrote: [ ... ] > static void *__dev_map_hash_lookup_elem(struct bpf_map *map, u32 key) > { > struct bpf_dtab *dtab = container_of(map, struct bpf_dtab, map); > @@ -266,7 +270,8 @@ static void *__dev_map_hash_lookup_elem(struct bpf_map *map, u32 key) > struct bpf_dtab_netdev *dev; > > hlist_for_each_entry_rcu(dev, head, index_hlist, > - lockdep_is_held(&dtab->index_lock)) > + (lockdep_is_held(&dtab->index_lock) || > + rcu_read_lock_bh_held())) This change is not needed also. Others lgtm.