Skip to content

Commit cf57b5d

Browse files
Wang Haikuba-moo
authored andcommitted
net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit()
The greth_start_xmit_gbit() returns NETDEV_TX_OK without freeing skb in case of skb->len being too long, add dev_kfree_skb() to fix it. Fixes: d4c4113 ("net: Add Aeroflex Gaisler 10/100/1G Ethernet MAC driver") Signed-off-by: Wang Hai <wanghai38@huawei.com> Reviewed-by: Gerhard Engleder <gerhard@engleder-embedded.com> Link: https://patch.msgid.link/20241012110434.49265-1-wanghai38@huawei.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent a1494d5 commit cf57b5d

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

  • drivers/net/ethernet/aeroflex

drivers/net/ethernet/aeroflex/greth.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ greth_start_xmit_gbit(struct sk_buff *skb, struct net_device *dev)
484484

485485
if (unlikely(skb->len > MAX_FRAME_SIZE)) {
486486
dev->stats.tx_errors++;
487-
goto out;
487+
goto len_error;
488488
}
489489

490490
/* Save skb pointer. */
@@ -575,6 +575,7 @@ greth_start_xmit_gbit(struct sk_buff *skb, struct net_device *dev)
575575
map_error:
576576
if (net_ratelimit())
577577
dev_warn(greth->dev, "Could not create TX DMA mapping\n");
578+
len_error:
578579
dev_kfree_skb(skb);
579580
out:
580581
return err;

0 commit comments

Comments
 (0)