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)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Nov 2022 11:21:02 +0000 (11:21 +0000)
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>
drivers/net/mhi_net.c

index 0b1b6f650104b564a1368a35de3fb44e00d06bb8..0b9d3797913329ad425ae3381ab4fd3beb39d115 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);
 }