|
@@ -183,14 +183,15 @@ pass_up:
|
|
|
|
|
|
read_lock_bh(&l2tp_ip_lock);
|
|
|
sk = __l2tp_ip_bind_lookup(net, iph->daddr, 0, tunnel_id);
|
|
|
+ if (!sk) {
|
|
|
+ read_unlock_bh(&l2tp_ip_lock);
|
|
|
+ goto discard;
|
|
|
+ }
|
|
|
+
|
|
|
+ sock_hold(sk);
|
|
|
read_unlock_bh(&l2tp_ip_lock);
|
|
|
}
|
|
|
|
|
|
- if (sk == NULL)
|
|
|
- goto discard;
|
|
|
-
|
|
|
- sock_hold(sk);
|
|
|
-
|
|
|
if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb))
|
|
|
goto discard_put;
|
|
|
|