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.12-92~150^2~168 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=90df94233bf4f78aca746ea288aa01dd63ff9e4b;p=users%2Fjedix%2Flinux-maple.git pppoe: fix reference counting in PPPoE proxy Orabug: 23330957 [ 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 (cherry picked from commit dda12d1bb3534b095c3d3e537e081339e0b7192f) Signed-off-by: Dan Duval --- 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;