diff options
author | Simon Horman <horms@verge.net.au> | 2010-11-08 20:06:30 +0900 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2010-11-16 08:13:07 +0900 |
commit | ea2c73afc23db3084fd857b027446c38fc7ff2c9 (patch) | |
tree | 9c00a5c5cffb1ebf4a51c6811e69062f03eec318 /net | |
parent | e9e5eee8733739f13a204132b502494b3f494f3b (diff) |
IPVS: Only match pe_data created by the same pe
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/ipvs/ip_vs_conn.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c index 64a9ca314100..261db1a17633 100644 --- a/net/netfilter/ipvs/ip_vs_conn.c +++ b/net/netfilter/ipvs/ip_vs_conn.c @@ -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; } |