]> Pileus Git - ~andy/linux/blobdiff - net/rds/connection.c
Merge remote-tracking branch 'wireless-next/master' into mac80211-next
[~andy/linux] / net / rds / connection.c
index 45e23660437a6ed15006e7a125cea99183c86c04..378c3a6acf84cab59346ab832d2fffba33e6e543 100644 (file)
@@ -51,10 +51,16 @@ static struct kmem_cache *rds_conn_slab;
 
 static struct hlist_head *rds_conn_bucket(__be32 laddr, __be32 faddr)
 {
+       static u32 rds_hash_secret __read_mostly;
+
+       unsigned long hash;
+
+       net_get_random_once(&rds_hash_secret, sizeof(rds_hash_secret));
+
        /* Pass NULL, don't need struct net for hash */
-       unsigned long hash = __inet_ehashfn(be32_to_cpu(laddr), 0,
-                                           be32_to_cpu(faddr), 0,
-                                           inet_ehash_secret);
+       hash = __inet_ehashfn(be32_to_cpu(laddr), 0,
+                             be32_to_cpu(faddr), 0,
+                             rds_hash_secret);
        return &rds_conn_hash[hash & RDS_CONNECTION_HASH_MASK];
 }