[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251224012224.56185-1-zhud@hygon.cn>
Date: Wed, 24 Dec 2025 09:22:24 +0800
From: Di Zhu <zhud@...on.cn>
To: <davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <horms@...nel.org>, <andrew+netdev@...n.ch>,
<netdev@...r.kernel.org>
CC: <zhud@...on.cn>, <lijing@...on.cn>, <yingzhiwei@...on.cn>
Subject: [PATCH net v2] netdev: preserve NETIF_F_ALL_FOR_ALL across TSO updates
Directly increment the TSO features incurs a side effect: it will also
directly clear the flags in NETIF_F_ALL_FOR_ALL on the master device,
which can cause issues such as the inability to enable the nocache copy
feature on the bonding driver.
The fix is to include NETIF_F_ALL_FOR_ALL in the update mask, thereby
preventing it from being cleared.
Fixes: b0ce3508b25e ("bonding: allow TSO being set on bonding master")
Signed-off-by: Di Zhu <zhud@...on.cn>
---
/* v1 */
Link: https://lore.kernel.org/netdev/20251216085210.132387-1-zhud@hygon.cn/
/* v2 */
-update commit message
-modify the code as suggested by Eric Dumazet
---
include/linux/netdevice.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 5870a9e514a5..d99b0fbc1942 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -5323,7 +5323,8 @@ netdev_features_t netdev_increment_features(netdev_features_t all,
static inline netdev_features_t netdev_add_tso_features(netdev_features_t features,
netdev_features_t mask)
{
- return netdev_increment_features(features, NETIF_F_ALL_TSO, mask);
+ return netdev_increment_features(features, NETIF_F_ALL_TSO |
+ NETIF_F_ALL_FOR_ALL, mask);
}
int __netdev_update_features(struct net_device *dev);
--
2.34.1
Powered by blists - more mailing lists