From: Di Zhu Date: Wed, 24 Dec 2025 01:22:24 +0000 (+0800) Subject: netdev: preserve NETIF_F_ALL_FOR_ALL across TSO updates X-Git-Tag: v5.10.248~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c9811dd5d021354597a6423014fc2a1ecf503e2;p=thirdparty%2Fkernel%2Fstable.git netdev: preserve NETIF_F_ALL_FOR_ALL across TSO updates [ Upstream commit 02d1e1a3f9239cdb3ecf2c6d365fb959d1bf39df ] 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 Link: https://patch.msgid.link/20251224012224.56185-1-zhud@hygon.cn Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index d3a3e77a18df1..dcf1b603cb516 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -4890,7 +4890,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);