IPVS: Only match pe_data created by the same pe
authorSimon Horman <horms@verge.net.au>
Mon, 8 Nov 2010 11:06:30 +0000 (20:06 +0900)
committerSimon Horman <horms@verge.net.au>
Mon, 15 Nov 2010 23:13:07 +0000 (08:13 +0900)
Only match persistence engine data if it was
created by the same persistence engine.

Reported-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
net/netfilter/ipvs/ip_vs_conn.c

index 64a9ca3141004fcc33c96b7f94cd4f85ec6ae86e..261db1a17633fd51f60d3b8c99c77bcfb2f601d7 100644 (file)
@@ -354,7 +354,7 @@ struct ip_vs_conn *ip_vs_ct_in_get(const struct ip_vs_conn_param *p)
 
        list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) {
                if (p->pe_data && p->pe->ct_match) {
-                       if (p->pe->ct_match(p, cp))
+                       if (p->pe == cp->pe && p->pe->ct_match(p, cp))
                                goto out;
                        continue;
                }