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: v6.18.6~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bdc624bf33d36763bcc1211e54ff27494de8a6b;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 77c46a2823eca..c6c04cd0a6816 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -5299,7 +5299,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);