From: Ken-ichirou MATSUZAWA <chamas@h4.dion.ne.jp>
Date: Wed, 9 Nov 2005 21:08:29 +0000 (-0800)
Subject: [IPV6]: ip6ip6_lock is not unlocked in error path.
X-Git-Tag: firefly_0821_release~40184^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9f0ede52a0ebfe1fe99ee5bfd99d17e6ac0c503d;p=firefly-linux-kernel-4.4.55.git

[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>
---

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;
 		}