]> www.infradead.org Git - users/jedix/linux-maple.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)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:45:23 +0000 (15:45 -0700)
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 <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit dda12d1bb3534b095c3d3e537e081339e0b7192f)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/net/ppp/pppoe.c

index 9c8fabed4444fabb754153ce490c99023ab75c07..d1c4bc1c4df096e260377329b70e22cb363d724d 100644 (file)
@@ -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;