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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to