]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/xfrm/xfrm_input.c
[IPSEC]: Move state lock into x->type->input
[linux-2.6-omap-h63xx.git] / net / xfrm / xfrm_input.c
index b7d68eb9434cdc663af43bc940f58eb49d0ba306..5cad522e8ef613cf44afa724cfc9a4877928d8ce 100644 (file)
@@ -146,7 +146,11 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
                if (xfrm_state_check_expire(x))
                        goto drop_unlock;
 
+               spin_unlock(&x->lock);
+
                nexthdr = x->type->input(x, skb);
+
+               spin_lock(&x->lock);
                if (nexthdr <= 0) {
                        if (nexthdr == -EBADMSG)
                                x->stats.integrity_failed++;