summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorKen-ichirou MATSUZAWA <chamas@h4.dion.ne.jp>2005-11-09 13:08:29 -0800
committerDavid S. Miller <davem@davemloft.net>2005-11-09 13:08:29 -0800
commit9f0ede52a0ebfe1fe99ee5bfd99d17e6ac0c503d (patch)
treeabd0d10a9f35ebbd9bd15e36d5c07a1f98112e61 /net/ipv6
parent44fd0261d3509b0b4303fd9ba792058d230186ab (diff)
downloadlinux-9f0ede52a0ebfe1fe99ee5bfd99d17e6ac0c503d.tar.bz2
[IPV6]: ip6ip6_lock is not unlocked in error path.
From: Ken-ichirou MATSUZAWA <chamas@h4.dion.ne.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/ip6_tunnel.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index e6b0e3954c02..e315d0f80af1 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -525,6 +525,7 @@ ip6ip6_rcv(struct sk_buff **pskb, unsigned int *nhoffp)
if ((t = ip6ip6_tnl_lookup(&ipv6h->saddr, &ipv6h->daddr)) != NULL) {
if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
+ read_unlock(&ip6ip6_lock);
kfree_skb(skb);
return 0;
}