net: Fix a data-race around sysctl_net_busy_poll.

[ Upstream commit c42b7cddea47503411bfb5f2f93a4154aaffa2d9 ]

While reading sysctl_net_busy_poll, it can be changed concurrently.
Thus, we need to add READ_ONCE() to its reader.

Fixes: 0602129286 ("net: add low latency socket poll")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Kuniyuki Iwashima 2022-08-23 10:46:51 -07:00 committed by Greg Kroah-Hartman
parent 5da0632c07
commit 6e8f9df62d

View File

@ -31,7 +31,7 @@ extern unsigned int sysctl_net_busy_poll __read_mostly;
static inline bool net_busy_loop_on(void) static inline bool net_busy_loop_on(void)
{ {
return sysctl_net_busy_poll; return READ_ONCE(sysctl_net_busy_poll);
} }
static inline bool sk_can_busy_loop(const struct sock *sk) static inline bool sk_can_busy_loop(const struct sock *sk)