diff --git a/net/socket.c b/net/socket.c index 73666b878f2c..5c49074ef7f2 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2820,7 +2820,7 @@ static int do_recvmmsg(int fd, struct mmsghdr __user *mmsg, * error to return on the next call or if the * app asks about it using getsockopt(SO_ERROR). */ - sock->sk->sk_err = -err; + WRITE_ONCE(sock->sk->sk_err, -err); } out_put: fput_light(sock->file, fput_needed);