From: Guillaume Nault Date: Mon, 15 Feb 2016 16:01:10 +0000 (+0100) Subject: pppoe: fix reference counting in PPPoE proxy X-Git-Tag: v4.1.19~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dda12d1bb3534b095c3d3e537e081339e0b7192f;p=thirdparty%2Fkernel%2Fstable.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: Sasha Levin --- diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index 9c8fabed4444f..d1c4bc1c4df09 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;