ipvs: switch to sock_recvmsg()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 21 Sep 2017 00:14:51 +0000 (20:14 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Dec 2017 01:38:08 +0000 (20:38 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
net/netfilter/ipvs/ip_vs_sync.c

index 9ee71cb..fbaf3bd 100644 (file)
@@ -1636,17 +1636,14 @@ static int
 ip_vs_receive(struct socket *sock, char *buffer, const size_t buflen)
 {
        struct msghdr           msg = {NULL,};
-       struct kvec             iov;
+       struct kvec             iov = {buffer, buflen};
        int                     len;
 
        EnterFunction(7);
 
        /* Receive a packet */
-       iov.iov_base     = buffer;
-       iov.iov_len      = (size_t)buflen;
-
-       len = kernel_recvmsg(sock, &msg, &iov, 1, buflen, MSG_DONTWAIT);
-
+       iov_iter_kvec(&msg.msg_iter, READ | ITER_KVEC, &iov, 1, buflen);
+       len = sock_recvmsg(sock, &msg, MSG_DONTWAIT);
        if (len < 0)
                return len;