From: Guillaume Nault Date: Mon, 15 Feb 2016 16:01:10 +0000 (+0100) Subject: pppoe: fix reference counting in PPPoE proxy X-Git-Tag: firefly_0821_release~176^2~475^2~379 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=26fd5ed6e8ad66c86eb720cf85d1230c9b45a5f9;p=firefly-linux-kernel-4.4.55.git pppoe: fix reference counting in PPPoE proxy [ Upstream commit 29e73269aa4d36f92b35610c25f8b01c789b0dc8 ] Drop reference on the relay_po socket when __pppoe_xmit() succeeds. This is already handled correctly in the error path. Signed-off-by: Guillaume Nault Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index 0a37f840fcc5..4e0068e775f9 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c @@ -395,6 +395,8 @@ static int pppoe_rcv_core(struct sock *sk, struct sk_buff *skb) if (!__pppoe_xmit(sk_pppox(relay_po), skb)) goto abort_put; + + sock_put(sk_pppox(relay_po)); } else { if (sock_queue_rcv_skb(sk, skb)) goto abort_kfree;