diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-02-24 18:34:01 (GMT) |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-02-24 18:35:27 (GMT) |
commit | 8f711a601d6a2f61bb0ca173911bedc5069d3b9a (patch) | |
tree | a061862d630b2ca0ae0a8200b73d79d2c1576f6d /net | |
parent | 02263db00b6cb98701332aa257c07ca549c2324b (diff) | |
parent | 528c943f3bb919aef75ab2fff4f00176f09a4019 (diff) | |
download | linux-8f711a601d6a2f61bb0ca173911bedc5069d3b9a.tar.xz |
Merge https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs
Simon Horman says:
====================
Second Round of IPVS Fixes for v3.20
This patch resolves some memory leaks in connection
synchronisation code that date back to v2.6.39.
====================
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/ipvs/ip_vs_sync.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c index c47ffd7..d93ceeb 100644 --- a/net/netfilter/ipvs/ip_vs_sync.c +++ b/net/netfilter/ipvs/ip_vs_sync.c @@ -896,6 +896,8 @@ static void ip_vs_proc_conn(struct net *net, struct ip_vs_conn_param *param, IP_VS_DBG(2, "BACKUP, add new conn. failed\n"); return; } + if (!(flags & IP_VS_CONN_F_TEMPLATE)) + kfree(param->pe_data); } if (opt) @@ -1169,6 +1171,7 @@ static inline int ip_vs_proc_sync_conn(struct net *net, __u8 *p, __u8 *msg_end) (opt_flags & IPVS_OPT_F_SEQ_DATA ? &opt : NULL) ); #endif + ip_vs_pe_put(param.pe); return 0; /* Error exit */ out: |