diff options
author | David S. Miller <davem@davemloft.net> | 2011-12-28 21:06:58 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-28 21:06:58 +0100 |
commit | 2c2aba6c561ac425602f4a0be61422224cb87151 (patch) | |
tree | 30b5f2c40b823ca61e2e0930d5e98a89a83222bb /include/net/arp.h | |
parent | netrom: avoid overflows in nr_setsockopt() (diff) | |
download | linux-2c2aba6c561ac425602f4a0be61422224cb87151.tar.xz linux-2c2aba6c561ac425602f4a0be61422224cb87151.zip |
ipv6: Use universal hash for NDISC.
In order to perform a proper universal hash on a vector of integers,
we have to use different universal hashes on each vector element.
Which means we need 4 different hash randoms for ipv6.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/arp.h')
-rw-r--r-- | include/net/arp.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/arp.h b/include/net/arp.h index 4979af8b1559..0013dc87940b 100644 --- a/include/net/arp.h +++ b/include/net/arp.h @@ -23,7 +23,7 @@ static inline struct neighbour *__ipv4_neigh_lookup(struct neigh_table *tbl, str rcu_read_lock_bh(); nht = rcu_dereference_bh(tbl->nht); - hash_val = arp_hashfn(key, dev, nht->hash_rnd) >> (32 - nht->hash_shift); + hash_val = arp_hashfn(key, dev, nht->hash_rnd[0]) >> (32 - nht->hash_shift); for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); n != NULL; n = rcu_dereference_bh(n->next)) { |