mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] staging: fsl-dpaa2/eth: Fix skb use after free
@ 2017-07-20 10:58 Bogdan Purcareata
  2017-07-20 10:58 ` [PATCH 2/2] staging: fsl-dpaa2/eth: Error report format fixes Bogdan Purcareata
  2017-07-20 11:17 ` [PATCH 1/2] staging: fsl-dpaa2/eth: Fix skb use after free Dan Carpenter
  0 siblings, 2 replies; 5+ messages in thread
From: Bogdan Purcareata @ 2017-07-20 10:58 UTC (permalink / raw)
  To: ruxandra.radulescu, gregkh, linux-kernel, devel

Once a Tx frame descriptor is enqueued, an interrupt might be triggered
to process the Tx confirmation and free the skb, hitting a memory use
after free when updating the tx_bytes statistic based on skb->len.

Use the frame descriptor length instead.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
---
 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
index b9a0a31..0f3e497 100644
--- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
+++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
@@ -616,7 +616,7 @@ static netdev_tx_t dpaa2_eth_tx(struct sk_buff *skb, struct net_device *net_dev)
 		free_tx_fd(priv, &fd, NULL);
 	} else {
 		percpu_stats->tx_packets++;
-		percpu_stats->tx_bytes += skb->len;
+		percpu_stats->tx_bytes += dpaa2_fd_get_len(&fd);
 	}
 
 	return NETDEV_TX_OK;
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-07-20 11:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-20 10:58 [PATCH 1/2] staging: fsl-dpaa2/eth: Fix skb use after free Bogdan Purcareata
2017-07-20 10:58 ` [PATCH 2/2] staging: fsl-dpaa2/eth: Error report format fixes Bogdan Purcareata
2017-07-20 11:17 ` [PATCH 1/2] staging: fsl-dpaa2/eth: Fix skb use after free Dan Carpenter
2017-07-20 11:38   ` Bogdan Purcareata
2017-07-20 11:43     ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®