[RFCv7 PATCH net-next 16/36] treewide: use replace features '0' by netdev_empty_features
From: Jian Shen <shenjian15@huawei.com>
Date: 2022-08-10 03:14:04
Subsystem:
amazon ethernet drivers, beckhoff cx5020 ethercat master driver, broadcom b44 10/100 ethernet driver, broadcom tg3 gigabit ethernet driver, emulex 10gbps nic be2, be3-r, lancer, skyhawk-r driver (be2net), hsi subsystem, huawei ethernet driver, hyper-v/azure core and drivers, ibm power sriov virtual nic device driver, intel ethernet drivers, linux for powerpc (32-bit and 64-bit), networking drivers, networking [ethtool], networking [general], networking [tcp], openvswitch, s390 architecture, s390 network drivers, sfc network driver, the rest, tun/tap driver, usb lan78xx ethernet driver, usb networking drivers, usb subsystem · Maintainers:
Arthur Kiyanovski, David Arinzon, Dariusz Marcinkiewicz, Michael Chan, Pavan Chebbi, Ajit Khaparde, Sriharsha Basavapatna, Sebastian Reichel, Cai Huoqing, "K. Y. Srinivasan", Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li, Haren Myneni, Rick Lindsley, Tony Nguyen, Przemek Kitszel, Madhavan Srinivasan, Michael Ellerman, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Neal Cardwell, Aaron Conole, Eelco Chaudron, Ilya Maximets, Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Alexandra Winter, Aswin Karuvally, Edward Cree, Linus Torvalds, Willem de Bruijn, Jason Wang, Thangaraj Samynathan, Rengarajan Sundararajan, Greg Kroah-Hartman
For the prototype of netdev_features_t will be changed from u64 to bitmap, so it's unable to assignment with 0 directly. Replace it with netdev_empty_features. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- drivers/hsi/clients/ssi_protocol.c | 2 +- drivers/net/caif/caif_serial.c | 2 +- drivers/net/ethernet/amazon/ena/ena_netdev.c | 2 +- drivers/net/ethernet/broadcom/b44.c | 2 +- drivers/net/ethernet/broadcom/tg3.c | 2 +- drivers/net/ethernet/dnet.c | 2 +- drivers/net/ethernet/ec_bhf.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c | 2 +- drivers/net/ethernet/ethoc.c | 2 +- drivers/net/ethernet/huawei/hinic/hinic_main.c | 5 +++-- drivers/net/ethernet/ibm/ibmvnic.c | 6 +++--- drivers/net/ethernet/intel/iavf/iavf_main.c | 9 +++++---- drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +- drivers/net/ethernet/sfc/ef10.c | 2 +- drivers/net/tap.c | 2 +- drivers/net/tun.c | 2 +- drivers/net/usb/cdc-phonet.c | 3 ++- drivers/net/usb/lan78xx.c | 2 +- drivers/s390/net/qeth_core_main.c | 2 +- drivers/usb/gadget/function/f_phonet.c | 3 ++- net/dccp/ipv4.c | 2 +- net/dccp/ipv6.c | 2 +- net/ethtool/features.c | 2 +- net/ethtool/ioctl.c | 6 ++++-- net/ipv4/af_inet.c | 2 +- net/ipv4/tcp.c | 2 +- net/ipv4/tcp_ipv4.c | 2 +- net/ipv6/af_inet6.c | 2 +- net/ipv6/inet6_connection_sock.c | 2 +- net/ipv6/tcp_ipv6.c | 2 +- net/openvswitch/datapath.c | 2 +- 31 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
index 21f11a5b965b..c7f3dae91e36 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c@@ -1057,7 +1057,7 @@ static void ssip_pn_setup(struct net_device *dev) { static const u8 addr = PN_MEDIA_SOS; - dev->features = 0; + dev->features = netdev_empty_features; dev->netdev_ops = &ssip_pn_ops; dev->type = ARPHRD_PHONET; dev->flags = IFF_POINTOPOINT | IFF_NOARP;
diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 688075859ae4..1fca20f97e8f 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c@@ -398,7 +398,7 @@ static void caifdev_setup(struct net_device *dev) { struct ser_device *serdev = netdev_priv(dev); - dev->features = 0; + dev->features = netdev_empty_features; dev->netdev_ops = &netdev_ops; dev->type = ARPHRD_CAIF; dev->flags = IFF_POINTOPOINT | IFF_NOARP;
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c
index ab102769965f..f77a930367ce 100644
--- a/drivers/net/ethernet/amazon/ena/ena_netdev.c
+++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c@@ -4019,7 +4019,7 @@ static DECLARE_NETDEV_FEATURE_SET(ena_feature_set, static void ena_set_dev_offloads(struct ena_com_dev_get_features_ctx *feat, struct net_device *netdev) { - netdev_features_t dev_features = 0; + netdev_features_t dev_features = netdev_empty_features; /* Set offload features */ if (feat->offload.tx &
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index e5857e88c207..075bdded8e45 100644
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c@@ -2359,7 +2359,7 @@ static int b44_init_one(struct ssb_device *sdev, SET_NETDEV_DEV(dev, sdev->dev); /* No interesting netdevice features in this card... */ - dev->features |= 0; + dev->features |= netdev_empty_features; bp = netdev_priv(dev); bp->sdev = sdev;
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 72a9b1f38cab..f4a455f8743b 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c@@ -17550,13 +17550,13 @@ static void tg3_init_coal(struct tg3 *tp) static int tg3_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { + netdev_features_t features = netdev_empty_features; struct net_device *dev; struct tg3 *tp; int i, err; u32 sndmbx, rcvmbx, intmbx; char str[40]; u64 dma_mask, persist_dma_mask; - netdev_features_t features = 0; u8 addr[ETH_ALEN] __aligned(2); err = pci_enable_device(pdev);
diff --git a/drivers/net/ethernet/dnet.c b/drivers/net/ethernet/dnet.c
index 92462ed87bc4..7f4dcea2cd87 100644
--- a/drivers/net/ethernet/dnet.c
+++ b/drivers/net/ethernet/dnet.c@@ -763,7 +763,7 @@ static int dnet_probe(struct platform_device *pdev) return -ENOMEM; /* TODO: Actually, we have some interesting features... */ - dev->features |= 0; + dev->features |= netdev_empty_features; bp = netdev_priv(dev); bp->dev = dev;
diff --git a/drivers/net/ethernet/ec_bhf.c b/drivers/net/ethernet/ec_bhf.c
index 46e3a05e9582..44e90e06fdab 100644
--- a/drivers/net/ethernet/ec_bhf.c
+++ b/drivers/net/ethernet/ec_bhf.c@@ -525,7 +525,7 @@ static int ec_bhf_probe(struct pci_dev *dev, const struct pci_device_id *id) pci_set_drvdata(dev, net_dev); SET_NETDEV_DEV(net_dev, &dev->dev); - net_dev->features = 0; + net_dev->features = netdev_empty_features; net_dev->flags |= IFF_NOARP; net_dev->netdev_ops = &ec_bhf_netdev_ops;
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 22af4232329e..fefacd5530e2 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c@@ -4029,7 +4029,7 @@ static int be_vxlan_unset_port(struct net_device *netdev, unsigned int table, adapter->flags &= ~BE_FLAGS_VXLAN_OFFLOADS; adapter->vxlan_port = 0; - netdev->hw_enc_features = 0; + netdev->hw_enc_features = netdev_empty_features; return 0; }
diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
index 437c5acfe222..3ced63aaa6cb 100644
--- a/drivers/net/ethernet/ethoc.c
+++ b/drivers/net/ethernet/ethoc.c@@ -1220,7 +1220,7 @@ static int ethoc_probe(struct platform_device *pdev) /* setup the net_device structure */ netdev->netdev_ops = ðoc_netdev_ops; netdev->watchdog_timeo = ETHOC_TIMEOUT; - netdev->features |= 0; + netdev->features |= netdev_empty_features; netdev->ethtool_ops = ðoc_ethtool_ops; /* setup NAPI */
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c
index 80d14a014d2d..93d4b019a4d1 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_main.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c@@ -1073,8 +1073,8 @@ static int set_features(struct hinic_dev *nic_dev, netdev_features_t features, bool force_change) { netdev_features_t changed = force_change ? ~0 : pre_features ^ features; + netdev_features_t failed_features = netdev_empty_features; u32 csum_en = HINIC_RX_CSUM_OFFLOAD_EN; - netdev_features_t failed_features = 0; int ret = 0; int err = 0;
@@ -1295,7 +1295,8 @@ static int nic_dev_init(struct pci_dev *pdev) HINIC_MGMT_MSG_CMD_LINK_ERR_EVENT, nic_dev, link_err_event); - err = set_features(nic_dev, 0, nic_dev->netdev->features, true); + err = set_features(nic_dev, netdev_empty_features, + nic_dev->netdev->features, true); if (err) goto err_set_features;
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 598f5b9d9025..0ceecd372b7e 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c@@ -4840,8 +4840,8 @@ static void send_control_ip_offload(struct ibmvnic_adapter *adapter) { struct ibmvnic_control_ip_offload_buffer *ctrl_buf = &adapter->ip_offload_ctrl; struct ibmvnic_query_ip_offload_buffer *buf = &adapter->ip_offload_buf; + netdev_features_t old_hw_features = netdev_emtpy_features; struct device *dev = &adapter->vdev->dev; - netdev_features_t old_hw_features = 0; union ibmvnic_crq crq; adapter->ip_offload_ctrl_tok =
@@ -4872,7 +4872,7 @@ static void send_control_ip_offload(struct ibmvnic_adapter *adapter) if (adapter->state != VNIC_PROBING) { old_hw_features = adapter->netdev->hw_features; - adapter->netdev->hw_features = 0; + adapter->netdev->hw_features = netdev_empty_features; } netdev_hw_features_zero(adapter->netdev);
@@ -4895,7 +4895,7 @@ static void send_control_ip_offload(struct ibmvnic_adapter *adapter) if (adapter->state == VNIC_PROBING) { adapter->netdev->features |= adapter->netdev->hw_features; } else if (old_hw_features != adapter->netdev->hw_features) { - netdev_features_t tmp = 0; + netdev_features_t tmp = netdev_empty_features; /* disable features no longer supported */ adapter->netdev->features &= adapter->netdev->hw_features;
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 95dd5a16b553..d4a2776381c3 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c@@ -2595,7 +2595,8 @@ static void iavf_init_config_adapter(struct iavf_adapter *adapter) if (VLAN_V2_ALLOWED(adapter)) /* request initial VLAN offload settings */ - iavf_set_vlan_offload_features(adapter, 0, netdev->features); + iavf_set_vlan_offload_features(adapter, netdev_empty_features, + netdev->features); return; err_mem:
@@ -3151,7 +3152,7 @@ static void iavf_adminq_task(struct work_struct *work) /* Request VLAN offload settings */ if (VLAN_V2_ALLOWED(adapter)) iavf_set_vlan_offload_features - (adapter, 0, netdev->features); + (adapter, netdev_empty_features, netdev->features); iavf_set_queue_vlan_tag_loc(adapter); }
@@ -4316,7 +4317,7 @@ static netdev_features_t iavf_features_check(struct sk_buff *skb, static netdev_features_t iavf_get_netdev_vlan_hw_features(struct iavf_adapter *adapter) { - netdev_features_t hw_features = 0; + netdev_features_t hw_features = netdev_empty_features; if (!adapter->vf_res || !adapter->vf_res->vf_cap_flags) return hw_features;
@@ -4377,7 +4378,7 @@ iavf_get_netdev_vlan_hw_features(struct iavf_adapter *adapter) static netdev_features_t iavf_get_netdev_vlan_features(struct iavf_adapter *adapter) { - netdev_features_t features = 0; + netdev_features_t features = netdev_empty_features; if (!adapter->vf_res || !adapter->vf_res->vf_cap_flags) return features;
diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index d2a424573d89..29bb41fdcdcd 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c@@ -2093,7 +2093,7 @@ static int mana_probe_port(struct mana_context *ac, int port_idx, netdev_hw_features_zero(ndev); netdev_hw_features_set_array(ndev, &mana_hw_feature_set); ndev->features = ndev->hw_features; - ndev->vlan_features = 0; + ndev->vlan_features = netdev_empty_features; err = register_netdev(ndev); if (err) {
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index dd8e278f8d8d..2f908bf1f019 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c@@ -1310,7 +1310,7 @@ static DECLARE_NETDEV_FEATURE_SET(ef10_tso_feature_set, static int efx_ef10_init_nic(struct efx_nic *efx) { struct efx_ef10_nic_data *nic_data = efx->nic_data; - netdev_features_t hw_enc_features = 0; + netdev_features_t hw_enc_features = netdev_empty_features; int rc; if (nic_data->must_check_datapath_caps) {
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 7d5446500d67..53865533d7a9 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c@@ -944,7 +944,7 @@ static int set_offload(struct tap_queue *q, unsigned long arg) { struct tap_dev *tap; netdev_features_t features; - netdev_features_t feature_mask = 0; + netdev_features_t feature_mask = netdev_empty_features; tap = rtnl_dereference(q->tap); if (!tap)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 322956768815..661391e9399b 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c@@ -2865,7 +2865,7 @@ static void tun_get_iff(struct tun_struct *tun, struct ifreq *ifr) * privs required. */ static int set_offload(struct tun_struct *tun, unsigned long arg) { - netdev_features_t features = 0; + netdev_features_t features = netdev_empty_features; if (arg & TUN_F_CSUM) { features |= NETIF_F_HW_CSUM;
diff --git a/drivers/net/usb/cdc-phonet.c b/drivers/net/usb/cdc-phonet.c
index ad5121e9cf5d..8c5116ed7278 100644
--- a/drivers/net/usb/cdc-phonet.c
+++ b/drivers/net/usb/cdc-phonet.c@@ -14,6 +14,7 @@ #include <linux/usb.h> #include <linux/usb/cdc.h> #include <linux/netdevice.h> +#include <linux/netdev_features_helper.h> #include <linux/if_arp.h> #include <linux/if_phonet.h> #include <linux/phonet.h>
@@ -277,7 +278,7 @@ static void usbpn_setup(struct net_device *dev) { const u8 addr = PN_MEDIA_USB; - dev->features = 0; + dev->features = netdev_empty_features; dev->netdev_ops = &usbpn_ops; dev->header_ops = &phonet_header_ops; dev->type = ARPHRD_PHONET;
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index b3c01bee9504..1c67cfb9bdb8 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c@@ -3462,7 +3462,7 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf) INIT_WORK(&pdata->set_vlan, lan78xx_deferred_vlan_write); - dev->net->features = 0; + dev->net->features = netdev_empty_features; if (DEFAULT_TX_CSUM_ENABLE) dev->net->features |= NETIF_F_HW_CSUM;
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 35d4b398c197..1ee35c5cb0bd 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c@@ -6938,7 +6938,7 @@ netdev_features_t qeth_features_check(struct sk_buff *skb, /* Traffic with local next-hop is not eligible for some offloads: */ if (skb->ip_summed == CHECKSUM_PARTIAL && READ_ONCE(card->options.isolation) != ISOLATION_MODE_FWD) { - netdev_features_t restricted = 0; + netdev_features_t restricted = netdev_empty_features; if (skb_is_gso(skb) && !netif_needs_gso(skb, features)) restricted |= NETIF_F_ALL_TSO;
diff --git a/drivers/usb/gadget/function/f_phonet.c b/drivers/usb/gadget/function/f_phonet.c
index 0bebbdf3f213..a540bf98441f 100644
--- a/drivers/usb/gadget/function/f_phonet.c
+++ b/drivers/usb/gadget/function/f_phonet.c@@ -14,6 +14,7 @@ #include <linux/device.h> #include <linux/netdevice.h> +#include <linux/netdev_features_helper.h> #include <linux/if_ether.h> #include <linux/if_phonet.h> #include <linux/if_arp.h>
@@ -269,7 +270,7 @@ static void pn_net_setup(struct net_device *dev) { const u8 addr = PN_MEDIA_USB; - dev->features = 0; + dev->features = netdev_empty_features; dev->type = ARPHRD_PHONET; dev->flags = IFF_POINTOPOINT | IFF_NOARP; dev->mtu = PHONET_DEV_MTU;
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index da6e3b20cd75..3a017cecc6d3 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c@@ -137,7 +137,7 @@ int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) */ dccp_set_state(sk, DCCP_CLOSED); ip_rt_put(rt); - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; inet->inet_dport = 0; goto out; }
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
index 53fa477d20ab..84fdb991bee5 100644
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c@@ -971,7 +971,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr, __sk_dst_reset(sk); failure: inet->inet_dport = 0; - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; return err; }
diff --git a/net/ethtool/features.c b/net/ethtool/features.c
index 67a837d44491..38efdab960ba 100644
--- a/net/ethtool/features.c
+++ b/net/ethtool/features.c@@ -144,7 +144,7 @@ static netdev_features_t ethnl_bitmap_to_features(unsigned long *src) { const unsigned int nft_bits = sizeof(netdev_features_t) * BITS_PER_BYTE; const unsigned int words = BITS_TO_LONGS(NETDEV_FEATURE_COUNT); - netdev_features_t ret = 0; + netdev_features_t ret = netdev_empty_features; unsigned int i; for (i = 0; i < words; i++)
diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index 8f32e4f06bfb..7674629773a1 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c@@ -125,7 +125,8 @@ static int ethtool_set_features(struct net_device *dev, void __user *useraddr) { struct ethtool_sfeatures cmd; struct ethtool_set_features_block features[ETHTOOL_DEV_FEATURE_WORDS]; - netdev_features_t wanted = 0, valid = 0; + netdev_features_t wanted = netdev_empty_features; + netdev_features_t valid = netdev_empty_features; netdev_features_t tmp; int i, ret = 0;
@@ -332,8 +333,9 @@ static u32 __ethtool_get_flags(struct net_device *dev) static int __ethtool_set_flags(struct net_device *dev, u32 data) { - netdev_features_t features = 0, changed; + netdev_features_t features = netdev_empty_features; netdev_features_t eth_all_features; + netdev_features_t changed; netdev_features_t tmp; if (data & ~ETH_ALL_FLAGS)
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 3ca0cc467886..ad3bea716358 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c@@ -1297,7 +1297,7 @@ int inet_sk_rebuild_header(struct sock *sk) err = PTR_ERR(rt); /* Routing failed... */ - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; /* * Other protocols have to map its equivalent state to TCP_SYN_SENT. * DCCP maps its DCCP_REQUESTING state to TCP_SYN_SENT. -acme
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 970e9a2cca4a..df10a1e5027c 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c@@ -1193,7 +1193,7 @@ static int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, if (err) { tcp_set_state(sk, TCP_CLOSE); inet->inet_dport = 0; - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; } } flags = (msg->msg_flags & MSG_DONTWAIT) ? O_NONBLOCK : 0;
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 0c83780dc9bf..0d1459b52fc9 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c@@ -324,7 +324,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) */ tcp_set_state(sk, TCP_CLOSE); ip_rt_put(rt); - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; inet->inet_dport = 0; return err; }
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 2ce0c44d0081..eacac47c9fda 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c@@ -846,7 +846,7 @@ int inet6_sk_rebuild_header(struct sock *sk) dst = ip6_dst_lookup_flow(sock_net(sk), sk, &fl6, final_p); if (IS_ERR(dst)) { - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; sk->sk_err_soft = -PTR_ERR(dst); return PTR_ERR(dst); }
diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
index 5a9f4d722f35..52209f42d18a 100644
--- a/net/ipv6/inet6_connection_sock.c
+++ b/net/ipv6/inet6_connection_sock.c@@ -121,7 +121,7 @@ int inet6_csk_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl_unused dst = inet6_csk_route_socket(sk, &fl6); if (IS_ERR(dst)) { sk->sk_err_soft = -PTR_ERR(dst); - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; kfree_skb(skb); return PTR_ERR(dst); }
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index e54eee80ce5f..c60e1f714b79 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c@@ -342,7 +342,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, tcp_set_state(sk, TCP_CLOSE); failure: inet->inet_dport = 0; - sk->sk_route_caps = 0; + sk->sk_route_caps = netdev_empty_features; return err; }
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 0780c418a971..73571e1393fc 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c@@ -437,7 +437,7 @@ static int queue_userspace_packet(struct datapath *dp, struct sk_buff *skb, /* Complete checksum if needed */ if (skb->ip_summed == CHECKSUM_PARTIAL && - (err = skb_csum_hwoffload_help(skb, 0))) + (err = skb_csum_hwoffload_help(skb, netdev_empty_features))) goto out; /* Older versions of OVS user space enforce alignment of the last
--
2.33.0