summaryrefslogtreecommitdiffstats
path: root/net/xfrm
diff options
context:
space:
mode:
authorThomas Egerer <thomas.egerer@secunet.com>2010-12-07 00:28:56 +0100
committerDavid S. Miller <davem@davemloft.net>2010-12-10 05:35:27 +0100
commit78347c8c6b2ddf20535bc1b18d749a3bbdea2a60 (patch)
tree2aa2048f11a93c4319b023e938eee387d19c96f4 /net/xfrm
parentnet: Convert netpoll blocking api in bonding driver to be a counter (diff)
downloadlinux-78347c8c6b2ddf20535bc1b18d749a3bbdea2a60.tar.xz
linux-78347c8c6b2ddf20535bc1b18d749a3bbdea2a60.zip
xfrm: Fix xfrm_state_migrate leak
xfrm_state_migrate calls kfree instead of xfrm_state_put to free a failed state. According to git commit 553f9118 this can cause memory leaks. Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm')
-rw-r--r--net/xfrm/xfrm_state.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index eb96ce52f178..220ebc05c7af 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1268,7 +1268,7 @@ struct xfrm_state * xfrm_state_migrate(struct xfrm_state *x,
return xc;
error:
- kfree(xc);
+ xfrm_state_put(xc);
return NULL;
}
EXPORT_SYMBOL(xfrm_state_migrate);