pppoe: fix reference counting in PPPoE proxy
authorGuillaume Nault <g.nault@alphalink.fr>
Mon, 15 Feb 2016 16:01:10 +0000 (17:01 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Feb 2016 21:02:01 +0000 (16:02 -0500)
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>
drivers/net/ppp/pppoe.c

index f3c63022eb3c582b46841e381e67af478c03f629..4ddae8118c8566e4de07a16b136af13597fe4f3e 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;