Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa214de0 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: l2tp_eth: fix l2tp_eth_dev_xmit race



Its illegal to dereference skb after giving it to l2tp_xmit_skb()
as it might be already freed/reused.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Cc: James Chapman <jchapman@katalix.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 044ca2a5
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -88,12 +88,12 @@ static int l2tp_eth_dev_xmit(struct sk_buff *skb, struct net_device *dev)
	struct l2tp_eth *priv = netdev_priv(dev);
	struct l2tp_eth *priv = netdev_priv(dev);
	struct l2tp_session *session = priv->session;
	struct l2tp_session *session = priv->session;


	l2tp_xmit_skb(session, skb, session->hdr_len);

	dev->stats.tx_bytes += skb->len;
	dev->stats.tx_bytes += skb->len;
	dev->stats.tx_packets++;
	dev->stats.tx_packets++;


	return 0;
	l2tp_xmit_skb(session, skb, session->hdr_len);

	return NETDEV_TX_OK;
}
}


static struct net_device_ops l2tp_eth_netdev_ops = {
static struct net_device_ops l2tp_eth_netdev_ops = {