[net] Question about ipvs->sysctl_sync_threshold and READ_ONCE

Zijie Zhao <[email protected]>
Newsgroups org.kernel.vger.lvs-devel,org.kernel.vger.netdev
Message-ID <[email protected]>
Dear IPVS maintainers,

We encountered an unusual usage of sysctl parameter while analyzing 
kernel source code.


In include/net/ip_vs.h, line 1062 - 1070:

```
static inline int sysctl_sync_threshold(struct netns_ipvs *ipvs)
{
	return ipvs->sysctl_sync_threshold[0];
}

static inline int sysctl_sync_period(struct netns_ipvs *ipvs)
{
	return READ_ONCE(ipvs->sysctl_sync_threshold[1]);
}
```

Here, sysctl_sync_threshold[1] is accessed behind `READ_ONCE`, but 
sysctl_sync_threshold[0] is not. Should sysctl_sync_threshold[0] also be 
guarded by `READ_ONCE`?

Please kindly let us know if we missed any key information and this is 
actually intended. We appreciate your information and time! Thanks!


Links to the code:
https://elixir.bootlin.com/linux/v6.8.1/source/include/net/ip_vs.h#L1064
https://elixir.bootlin.com/linux/v6.8.1/source/include/net/ip_vs.h#L1069

Best,
Zijie
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.