|
@@ -395,6 +395,8 @@ static int pppoe_rcv_core(struct sock *sk, struct sk_buff *skb)
|
|
|
|
|
|
if (!__pppoe_xmit(sk_pppox(relay_po), skb))
|
|
if (!__pppoe_xmit(sk_pppox(relay_po), skb))
|
|
goto abort_put;
|
|
goto abort_put;
|
|
|
|
+
|
|
|
|
+ sock_put(sk_pppox(relay_po));
|
|
} else {
|
|
} else {
|
|
if (sock_queue_rcv_skb(sk, skb))
|
|
if (sock_queue_rcv_skb(sk, skb))
|
|
goto abort_kfree;
|
|
goto abort_kfree;
|