aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/ipvs/ip_vs_conn.c
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2010-11-08 20:06:30 +0900
committerSimon Horman <horms@verge.net.au>2010-11-16 08:13:07 +0900
commitea2c73afc23db3084fd857b027446c38fc7ff2c9 (patch)
tree9c00a5c5cffb1ebf4a51c6811e69062f03eec318 /net/netfilter/ipvs/ip_vs_conn.c
parentIPVS: Add persistence engine to connection entry (diff)
downloadlinux-dev-ea2c73afc23db3084fd857b027446c38fc7ff2c9.tar.xz
linux-dev-ea2c73afc23db3084fd857b027446c38fc7ff2c9.zip
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 '')
-rw-r--r--net/netfilter/ipvs/ip_vs_conn.c2
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;
}