From aa89680be9484c9ed4ce139b5acb292bb0e1be93 Mon Sep 17 00:00:00 2001 From: Antoine Tenart Date: Mon, 14 Mar 2022 09:57:58 +0800 Subject: [PATCH] net-sysfs: update the queue counts in the unregistration path stable inclusion from linux-4.19.226 commit 35cad2003b6447932cfe91f795090586306738e8 -------------------------------- [ Upstream commit d7dac083414eb5bb99a6d2ed53dc2c1b405224e5 ] When updating Rx and Tx queue kobjects, the queue count should always be updated to match the queue kobjects count. This was not done in the net device unregistration path, fix it. Tracking all queue count updates will allow in a following up patch to detect illegal updates. Signed-off-by: Antoine Tenart Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Signed-off-by: Yongqiang Liu Signed-off-by: Laibin Qiu Signed-off-by: Yongqiang Liu --- net/core/net-sysfs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index fe0d255d66c8..e5dc04cb5599 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -1616,6 +1616,9 @@ static void remove_queue_kobjects(struct net_device *dev) net_rx_queue_update_kobjects(dev, real_rx, 0); netdev_queue_update_kobjects(dev, real_tx, 0); + + dev->real_num_rx_queues = 0; + dev->real_num_tx_queues = 0; #ifdef CONFIG_SYSFS kset_unregister(dev->queues_kset); #endif -- GitLab