]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/netfilter/xt_hashlimit.c
Merge commit 'v2.6.30-rc5' into next
[karo-tx-linux.git] / net / netfilter / xt_hashlimit.c
index f97fded024c46d5d8c28c57b2146b0c2c5e14c67..a5b5369c30f9e3ce88787818902c2227abfbe903 100644 (file)
@@ -149,7 +149,7 @@ dsthash_alloc_init(struct xt_hashlimit_htable *ht,
        /* initialize hash with random val at the time we allocate
         * the first hashtable entry */
        if (!ht->rnd_initialized) {
-               get_random_bytes(&ht->rnd, 4);
+               get_random_bytes(&ht->rnd, sizeof(ht->rnd));
                ht->rnd_initialized = 1;
        }
 
@@ -565,8 +565,7 @@ hashlimit_init_dst(const struct xt_hashlimit_htable *hinfo,
 static bool
 hashlimit_mt_v0(const struct sk_buff *skb, const struct xt_match_param *par)
 {
-       const struct xt_hashlimit_info *r =
-               ((const struct xt_hashlimit_info *)par->matchinfo)->u.master;
+       const struct xt_hashlimit_info *r = par->matchinfo;
        struct xt_hashlimit_htable *hinfo = r->hinfo;
        unsigned long now = jiffies;
        struct dsthash_ent *dh;
@@ -702,8 +701,6 @@ static bool hashlimit_mt_check_v0(const struct xt_mtchk_param *par)
        }
        mutex_unlock(&hlimit_mutex);
 
-       /* Ugly hack: For SMP, we only want to use one set */
-       r->u.master = r;
        return true;
 }