]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: ethernet: rtsn: fix potential memory leak in rtsn_start_xmit()
authorWang Hai <wanghai38@huawei.com>
Mon, 14 Oct 2024 14:42:50 +0000 (22:42 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2024 01:02:29 +0000 (02:02 +0100)
[ Upstream commit c186b7a7f2387d9e09ad408420570be025b187c5 ]

The rtsn_start_xmit() returns NETDEV_TX_OK without freeing skb
in case of skb->len being too long, add dev_kfree_skb_any() to fix it.

Fixes: b0d3969d2b4d ("net: ethernet: rtsn: Add support for Renesas Ethernet-TSN")
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20241014144250.38802-1-wanghai38@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/renesas/rtsn.c

index 0e6cea42f007710992ce7cd126e58af1078c1c45..da90adef6b2b790782b8070e3f1b0d071e5b88f3 100644 (file)
@@ -1057,6 +1057,7 @@ static netdev_tx_t rtsn_start_xmit(struct sk_buff *skb, struct net_device *ndev)
        if (skb->len >= TX_DS) {
                priv->stats.tx_dropped++;
                priv->stats.tx_errors++;
+               dev_kfree_skb_any(skb);
                goto out;
        }