diff options
| author | Eric Dumazet <[email protected]> | 2024-05-06 10:28:12 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-05-07 23:19:14 +0000 |
| commit | 1eb2cded45b35816085c1f962933c187d970f9dc (patch) | |
| tree | 27a26692748d3c69fcd896a10db9bc89c1eb54b5 /net/hsr/hsr_main.c | |
| parent | net: dccp: Fix ccid2_rtt_estimator() kernel-doc (diff) | |
| download | kernel-1eb2cded45b35816085c1f962933c187d970f9dc.tar.gz kernel-1eb2cded45b35816085c1f962933c187d970f9dc.zip | |
net: annotate writes on dev->mtu from ndo_change_mtu()
Simon reported that ndo_change_mtu() methods were never
updated to use WRITE_ONCE(dev->mtu, new_mtu) as hinted
in commit 501a90c94510 ("inet: protect against too small
mtu values.")
We read dev->mtu without holding RTNL in many places,
with READ_ONCE() annotations.
It is time to take care of ndo_change_mtu() methods
to use corresponding WRITE_ONCE()
Signed-off-by: Eric Dumazet <[email protected]>
Reported-by: Simon Horman <[email protected]>
Closes: https://lore.kernel.org/netdev/[email protected]/
Reviewed-by: Jacob Keller <[email protected]>
Reviewed-by: Sabrina Dubroca <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Acked-by: Shannon Nelson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/hsr/hsr_main.c')
| -rw-r--r-- | net/hsr/hsr_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/hsr/hsr_main.c b/net/hsr/hsr_main.c index 9756e657bab9..d7ae32473c41 100644 --- a/net/hsr/hsr_main.c +++ b/net/hsr/hsr_main.c @@ -96,7 +96,7 @@ static int hsr_netdev_notify(struct notifier_block *nb, unsigned long event, break; /* Handled in ndo_change_mtu() */ mtu_max = hsr_get_max_mtu(port->hsr); master = hsr_port_get_hsr(port->hsr, HSR_PT_MASTER); - master->dev->mtu = mtu_max; + WRITE_ONCE(master->dev->mtu, mtu_max); break; case NETDEV_UNREGISTER: if (!is_hsr_master(dev)) { |
