diff --git a/net/socket.c b/net/socket.c index 5053eb0100e4..73666b878f2c 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1721,7 +1721,7 @@ int __sys_listen(int fd, int backlog) sock = sockfd_lookup_light(fd, &err, &fput_needed); if (sock) { - somaxconn = sock_net(sock->sk)->core.sysctl_somaxconn; + somaxconn = READ_ONCE(sock_net(sock->sk)->core.sysctl_somaxconn); if ((unsigned int)backlog > somaxconn) backlog = somaxconn;