ipv6: annotate data-races around cnf.mtu6
[linux-block.git] / net / ipv6 / ndisc.c
index 8523f0595b01899a9f6cf82809c1b4bcfc233202..e96d79cd34d27ca304c5f71b6db41b99d2dd8856 100644 (file)
@@ -1578,8 +1578,8 @@ skip_routeinfo:
 
                if (mtu < IPV6_MIN_MTU || mtu > skb->dev->mtu) {
                        ND_PRINTK(2, warn, "RA: invalid mtu: %d\n", mtu);
-               } else if (in6_dev->cnf.mtu6 != mtu) {
-                       in6_dev->cnf.mtu6 = mtu;
+               } else if (READ_ONCE(in6_dev->cnf.mtu6) != mtu) {
+                       WRITE_ONCE(in6_dev->cnf.mtu6, mtu);
                        fib6_metric_set(rt, RTAX_MTU, mtu);
                        rt6_mtu_change(skb->dev, mtu);
                }