Skip to content

Commit 6d872df

Browse files
edumazetdavem330
authored andcommitted
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 <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 4b66d21 commit 6d872df

File tree

24 files changed

+37
-29
lines changed

24 files changed

+37
-29
lines changed

drivers/net/bonding/bond_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1460,7 +1460,7 @@ static void bond_compute_features(struct bonding *bond)
14601460
bond_dev->hw_enc_features |= xfrm_features;
14611461
#endif /* CONFIG_XFRM_OFFLOAD */
14621462
bond_dev->mpls_features = mpls_features;
1463-
bond_dev->gso_max_segs = gso_max_segs;
1463+
netif_set_gso_max_segs(bond_dev, gso_max_segs);
14641464
netif_set_gso_max_size(bond_dev, gso_max_size);
14651465

14661466
bond_dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;

drivers/net/ethernet/freescale/fec_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3558,7 +3558,7 @@ static int fec_enet_init(struct net_device *ndev)
35583558
ndev->features |= NETIF_F_HW_VLAN_CTAG_RX;
35593559

35603560
if (fep->quirks & FEC_QUIRK_HAS_CSUM) {
3561-
ndev->gso_max_segs = FEC_MAX_TSO_SEGS;
3561+
netif_set_gso_max_segs(ndev, FEC_MAX_TSO_SEGS);
35623562

35633563
/* enable hw accelerator */
35643564
ndev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM

drivers/net/ethernet/marvell/mv643xx_eth.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3201,7 +3201,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
32013201
dev->hw_features = dev->features;
32023202

32033203
dev->priv_flags |= IFF_UNICAST_FLT;
3204-
dev->gso_max_segs = MV643XX_MAX_TSO_SEGS;
3204+
netif_set_gso_max_segs(dev, MV643XX_MAX_TSO_SEGS);
32053205

32063206
/* MTU range: 64 - 9500 */
32073207
dev->min_mtu = 64;

drivers/net/ethernet/marvell/mvneta.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5335,7 +5335,7 @@ static int mvneta_probe(struct platform_device *pdev)
53355335
dev->hw_features |= dev->features;
53365336
dev->vlan_features |= dev->features;
53375337
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
5338-
dev->gso_max_segs = MVNETA_MAX_TSO_SEGS;
5338+
netif_set_gso_max_segs(dev, MVNETA_MAX_TSO_SEGS);
53395339

53405340
/* MTU range: 68 - 9676 */
53415341
dev->min_mtu = ETH_MIN_MTU;

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6857,7 +6857,7 @@ static int mvpp2_port_probe(struct platform_device *pdev,
68576857
mvpp2_set_hw_csum(port, port->pool_long->id);
68586858

68596859
dev->vlan_features |= features;
6860-
dev->gso_max_segs = MVPP2_MAX_TSO_SEGS;
6860+
netif_set_gso_max_segs(dev, MVPP2_MAX_TSO_SEGS);
68616861
dev->priv_flags |= IFF_UNICAST_FLT;
68626862

68636863
/* MTU range: 68 - 9704 */

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2741,7 +2741,7 @@ static int otx2_probe(struct pci_dev *pdev, const struct pci_device_id *id)
27412741

27422742
netdev->hw_features |= NETIF_F_LOOPBACK | NETIF_F_RXALL;
27432743

2744-
netdev->gso_max_segs = OTX2_MAX_GSO_SEGS;
2744+
netif_set_gso_max_segs(netdev, OTX2_MAX_GSO_SEGS);
27452745
netdev->watchdog_timeo = OTX2_TX_TIMEOUT;
27462746

27472747
netdev->netdev_ops = &otx2_netdev_ops;

drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ static int otx2vf_probe(struct pci_dev *pdev, const struct pci_device_id *id)
663663
netdev->hw_features |= NETIF_F_NTUPLE;
664664
netdev->hw_features |= NETIF_F_RXALL;
665665

666-
netdev->gso_max_segs = OTX2_MAX_GSO_SEGS;
666+
netif_set_gso_max_segs(netdev, OTX2_MAX_GSO_SEGS);
667667
netdev->watchdog_timeo = OTX2_TX_TIMEOUT;
668668

669669
netdev->netdev_ops = &otx2vf_netdev_ops;

drivers/net/ethernet/netronome/nfp/nfp_net_common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4097,7 +4097,7 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
40974097
netdev->min_mtu = ETH_MIN_MTU;
40984098
netdev->max_mtu = nn->max_mtu;
40994099

4100-
netdev->gso_max_segs = NFP_NET_LSO_MAX_SEGS;
4100+
netif_set_gso_max_segs(netdev, NFP_NET_LSO_MAX_SEGS);
41014101

41024102
netif_carrier_off(netdev);
41034103

drivers/net/ethernet/netronome/nfp/nfp_net_repr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ nfp_repr_transfer_features(struct net_device *netdev, struct net_device *lower)
287287
return;
288288

289289
netif_set_gso_max_size(netdev, lower->gso_max_size);
290-
netdev->gso_max_segs = lower->gso_max_segs;
290+
netif_set_gso_max_segs(netdev, lower->gso_max_segs);
291291

292292
netdev_update_features(netdev);
293293
}
@@ -381,7 +381,7 @@ int nfp_repr_init(struct nfp_app *app, struct net_device *netdev,
381381

382382
/* Advertise but disable TSO by default. */
383383
netdev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
384-
netdev->gso_max_segs = NFP_NET_LSO_MAX_SEGS;
384+
netif_set_gso_max_segs(netdev, NFP_NET_LSO_MAX_SEGS);
385385

386386
netdev->priv_flags |= IFF_NO_QUEUE | IFF_DISABLE_NETPOLL;
387387
netdev->features |= NETIF_F_LLTX;

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5391,11 +5391,11 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
53915391
if (rtl_chip_supports_csum_v2(tp)) {
53925392
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
53935393
netif_set_gso_max_size(dev, RTL_GSO_MAX_SIZE_V2);
5394-
dev->gso_max_segs = RTL_GSO_MAX_SEGS_V2;
5394+
netif_set_gso_max_segs(dev, RTL_GSO_MAX_SEGS_V2);
53955395
} else {
53965396
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO;
53975397
netif_set_gso_max_size(dev, RTL_GSO_MAX_SIZE_V1);
5398-
dev->gso_max_segs = RTL_GSO_MAX_SEGS_V1;
5398+
netif_set_gso_max_segs(dev, RTL_GSO_MAX_SEGS_V1);
53995399
}
54005400

54015401
dev->hw_features |= NETIF_F_RXALL;

0 commit comments

Comments
 (0)