diff --git a/net/socket.c b/net/socket.c index 73dc69f9681e..6bbccf05854f 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2197,8 +2197,10 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, return err; err = sock_error(sock->sk); - if (err) + if (err) { + datagrams = err; goto out_put; + } entry = mmsg; compat_entry = (struct compat_mmsghdr __user *)mmsg;