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.12.56~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00028cc77254f4973e6af17ea84fde3b1c2802dc;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: Jiri Slaby --- diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index 1cfd4e841854e..ec982788e6db0 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;