From: Guillaume Nault Date: Mon, 15 Feb 2016 16:01:10 +0000 (+0100) Subject: pppoe: fix reference counting in PPPoE proxy X-Git-Tag: v3.16.35~310 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cee3655e96c389a8b05705ca59e3b462651c69f0;p=thirdparty%2Fkernel%2Fstable.git pppoe: fix reference counting in PPPoE proxy commit 29e73269aa4d36f92b35610c25f8b01c789b0dc8 upstream. 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: Luis Henriques --- diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index 5aa563136373d..afac3cdac44b1 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c @@ -392,6 +392,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;