diff options
author | 2025-09-01 20:37:25 +0800 | |
---|---|---|
committer | 2025-09-02 17:01:06 -0700 | |
commit | 3a5f55500f3e93cf4d62351c753452279b088b4b (patch) | |
tree | bcc03494a6c173b6ced6900536dea1f0649c030d | |
parent | Merge branch 'vxlan-fix-npds-when-using-nexthop-objects' (diff) | |
download | wireguard-linux-3a5f55500f3e93cf4d62351c753452279b088b4b.tar.xz wireguard-linux-3a5f55500f3e93cf4d62351c753452279b088b4b.zip |
ipv6: annotate data-races around devconf->rpl_seg_enabled
devconf->rpl_seg_enabled can be changed concurrently from
/proc/sys/net/ipv6/conf, annotate lockless reads on it.
Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
Link: https://patch.msgid.link/20250901123726.1972881-2-yuehaibing@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | net/ipv6/exthdrs.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index d1ef9644f826..a23eb8734e15 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c @@ -494,10 +494,8 @@ static int ipv6_rpl_srh_rcv(struct sk_buff *skb) idev = __in6_dev_get(skb->dev); - accept_rpl_seg = net->ipv6.devconf_all->rpl_seg_enabled; - if (accept_rpl_seg > idev->cnf.rpl_seg_enabled) - accept_rpl_seg = idev->cnf.rpl_seg_enabled; - + accept_rpl_seg = min(READ_ONCE(net->ipv6.devconf_all->rpl_seg_enabled), + READ_ONCE(idev->cnf.rpl_seg_enabled)); if (!accept_rpl_seg) { kfree_skb(skb); return -1; |