aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ipvlan/ipvlan_main.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2021-11-19 07:43:32 -0800
committerDavid S. Miller <davem@davemloft.net>2021-11-22 12:49:42 +0000
commit6d872df3e3b91532b142de9044e5b4984017a55f (patch)
tree65f08dd7fd68e0584c00a3fb74077be873070a33 /drivers/net/ipvlan/ipvlan_main.c
parentnet: annotate accesses to dev->gso_max_size (diff)
downloadlinux-dev-6d872df3e3b91532b142de9044e5b4984017a55f.tar.xz
linux-dev-6d872df3e3b91532b142de9044e5b4984017a55f.zip
net: annotate accesses to dev->gso_max_segs
dev->gso_max_segs is written under RTNL protection, or when the device is not yet visible, but is read locklessly. Add netif_set_gso_max_segs() helper. Add the READ_ONCE()/WRITE_ONCE() pairs, and use netif_set_gso_max_segs() where we can to better document what is going on. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ipvlan/ipvlan_main.c')
-rw-r--r--drivers/net/ipvlan/ipvlan_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c
index 0ba63eccefa5..20da0b2bd246 100644
--- a/drivers/net/ipvlan/ipvlan_main.c
+++ b/drivers/net/ipvlan/ipvlan_main.c
@@ -141,7 +141,7 @@ static int ipvlan_init(struct net_device *dev)
dev->vlan_features |= IPVLAN_ALWAYS_ON_OFLOADS;
dev->hw_enc_features |= dev->features;
netif_set_gso_max_size(dev, phy_dev->gso_max_size);
- dev->gso_max_segs = phy_dev->gso_max_segs;
+ netif_set_gso_max_segs(dev, phy_dev->gso_max_segs);
dev->hard_header_len = phy_dev->hard_header_len;
netdev_lockdep_set_classes(dev);
@@ -764,7 +764,7 @@ static int ipvlan_device_event(struct notifier_block *unused,
case NETDEV_FEAT_CHANGE:
list_for_each_entry(ipvlan, &port->ipvlans, pnode) {
netif_set_gso_max_size(ipvlan->dev, dev->gso_max_size);
- ipvlan->dev->gso_max_segs = dev->gso_max_segs;
+ netif_set_gso_max_segs(ipvlan->dev, dev->gso_max_segs);
netdev_update_features(ipvlan->dev);
}
break;