]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pppoe: fix reference counting in PPPoE proxy
authorGuillaume Nault <g.nault@alphalink.fr>
Mon, 15 Feb 2016 16:01:10 +0000 (17:01 +0100)
committerLuis Henriques <luis.henriques@canonical.com>
Thu, 24 Mar 2016 10:00:46 +0000 (10:00 +0000)
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 <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/net/ppp/pppoe.c

index 5aa563136373d467fd710cf6a09de4846bc388b2..afac3cdac44b19ff832320f4d7c401c5e284127a 100644 (file)
@@ -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;