summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorLi RongQing <roy.qing.li@gmail.com>2012-09-17 22:40:10 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-13 05:38:40 +0900
commita91af73f445cacfb0db4df3eb2e3d0ddeff43893 (patch)
treea4fb8945340d3ee94f5f427d1a4e61250ede0d0f /net
parentf38b334adca51bbf18ad549a9736c0f86bb4a375 (diff)
downloadlinux-3.10-a91af73f445cacfb0db4df3eb2e3d0ddeff43893.tar.gz
linux-3.10-a91af73f445cacfb0db4df3eb2e3d0ddeff43893.tar.bz2
linux-3.10-a91af73f445cacfb0db4df3eb2e3d0ddeff43893.zip
xfrm: fix a read lock imbalance in make_blackhole
[ Upstream commit 433a19548061bb5457b6ab77ed7ea58ca6e43ddb ] if xfrm_policy_get_afinfo returns 0, it has already released the read lock, xfrm_policy_put_afinfo should not be called again. Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/xfrm/xfrm_policy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index a15d2a03172..71c80c763d5 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1761,7 +1761,7 @@ static struct dst_entry *make_blackhole(struct net *net, u16 family,
if (!afinfo) {
dst_release(dst_orig);
- ret = ERR_PTR(-EINVAL);
+ return ERR_PTR(-EINVAL);
} else {
ret = afinfo->blackhole_route(net, dst_orig);
}