net: mhi: Fix memory leak in mhi_net_dellink()
authorWei Yongjun <weiyongjun1@huawei.com>
Fri, 11 Nov 2022 09:20:44 +0000 (09:20 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Nov 2022 08:24:40 +0000 (09:24 +0100)
[ Upstream commit f7c125bd79f50ec6094761090be81d02726ec6f4 ]

MHI driver registers network device without setting the
needs_free_netdev flag, and does NOT call free_netdev() when
unregisters network device, which causes a memory leak.

This patch calls free_netdev() to fix it since netdev_priv
is used after unregister.

Fixes: 13adac032982 ("net: mhi_net: Register wwan_ops for link creation")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/mhi_net.c

index aaa628f..f84554a 100644 (file)
@@ -343,6 +343,8 @@ static void mhi_net_dellink(struct mhi_device *mhi_dev, struct net_device *ndev)
 
        kfree_skb(mhi_netdev->skbagg_head);
 
+       free_netdev(ndev);
+
        dev_set_drvdata(&mhi_dev->dev, NULL);
 }