On Wed, May 24, 2017 at 11:50:52AM +0200, Pablo Neira Ayuso wrote: > +static bool nft_hash_lookup(const struct net *net, const struct nft_set *set, > + const u32 *key, const struct nft_set_ext **ext) > +{ > + struct nft_hash *priv = nft_set_priv(set); > + u8 genmask = nft_genmask_cur(net); > + const struct nft_hash_elem *he; > + u32 hash; > + > + hash = jhash(key, set->klen, priv->seed); > + hash = reciprocal_scale(hash, priv->buckets); > + hlist_for_each_entry(he, &priv->table[hash], node) { Hm. I just noticed _rcu is missing here and everywhere in this code. Will send a v2. > + if (!memcmp(nft_set_ext_key(&he->ext), key, set->klen) && > + nft_set_elem_active(&he->ext, genmask)) { > + *ext = &he->ext; > + return true; > + } > + } > + return false; > +} -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html