net: wwan: iosm: fix memory leak in ipc_wwan_dellink
authorHW He <hw.he@mediatek.com>
Thu, 3 Nov 2022 10:40:00 +0000 (18:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Nov 2022 08:58:18 +0000 (09:58 +0100)
[ Upstream commit f25caaca424703d5a0607310f0452f978f1f78d9 ]

IOSM 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 sets needs_free_netdev to true when registers
network device, which makes netdev subsystem call free_netdev()
automatically after unregister_netdevice().

Fixes: 2a54f2c77934 ("net: iosm: net driver")
Signed-off-by: HW He <hw.he@mediatek.com>
Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Zhaoping Shu <zhaoping.shu@mediatek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wwan/iosm/iosm_ipc_wwan.c

index 92f064a8f83789bd0d376bec208f85cb723db4f0..3449f877e19f0611d8276f4ed68536f201f4bee0 100644 (file)
@@ -167,6 +167,7 @@ static void ipc_wwan_setup(struct net_device *iosm_dev)
        iosm_dev->max_mtu = ETH_MAX_MTU;
 
        iosm_dev->flags = IFF_POINTOPOINT | IFF_NOARP;
+       iosm_dev->needs_free_netdev = true;
 
        iosm_dev->netdev_ops = &ipc_inm_ops;
 }