[IPV6]: ip6ip6_lock is not unlocked in error path.
authorKen-ichirou MATSUZAWA <chamas@h4.dion.ne.jp>
Wed, 9 Nov 2005 21:08:29 +0000 (13:08 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Nov 2005 21:08:29 +0000 (13:08 -0800)
From: Ken-ichirou MATSUZAWA <chamas@h4.dion.ne.jp>

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_tunnel.c

index e6b0e3954c02be114b6bba4f2e14007ff069d1db..e315d0f80af1ef3a531c8293e8c33d56e6b08102 100644 (file)
@@ -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;
                }