new helper: msg_data_left()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 16 Dec 2014 02:39:31 +0000 (21:39 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 11 Apr 2015 19:53:35 +0000 (15:53 -0400)
convert open-coded instances

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
crypto/algif_hash.c
crypto/algif_skcipher.c
drivers/vhost/net.c
include/linux/socket.h
net/core/datagram.c
net/ipv4/tcp.c
net/rxrpc/ar-output.c
net/socket.c

index 0a465e0f301291f3e63b4306905f25bcffa50284..1396ad0787fc6b84ebdd9a9d552ce7eaccf1e698 100644 (file)
@@ -56,8 +56,8 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
 
        ctx->more = 0;
 
-       while (iov_iter_count(&msg->msg_iter)) {
-               int len = iov_iter_count(&msg->msg_iter);
+       while (msg_data_left(msg)) {
+               int len = msg_data_left(msg);
 
                if (len > limit)
                        len = limit;
index 8f903b6df29978987b1c70e4589d46218095b202..945075292bc9584e57f4612bb1b7549a8e9e9b22 100644 (file)
@@ -641,7 +641,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg,
        long copied = 0;
 
        lock_sock(sk);
-       while (iov_iter_count(&msg->msg_iter)) {
+       while (msg_data_left(msg)) {
                sgl = list_first_entry(&ctx->tsgl,
                                       struct skcipher_sg_list, list);
                sg = sgl->sg;
@@ -655,7 +655,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg,
                                goto unlock;
                }
 
-               used = min_t(unsigned long, ctx->used, iov_iter_count(&msg->msg_iter));
+               used = min_t(unsigned long, ctx->used, msg_data_left(msg));
 
                used = af_alg_make_sg(&ctx->rsgl, &msg->msg_iter, used);
                err = used;
index 18f05bff8826672a17a645d8fddc2a7df489e302..7d137a43cc86842ed98bc27e63d6dfcb2042f177 100644 (file)
@@ -357,13 +357,13 @@ static void handle_tx(struct vhost_net *net)
                iov_iter_init(&msg.msg_iter, WRITE, vq->iov, out, len);
                iov_iter_advance(&msg.msg_iter, hdr_size);
                /* Sanity check */
-               if (!iov_iter_count(&msg.msg_iter)) {
+               if (!msg_data_left(&msg)) {
                        vq_err(vq, "Unexpected header len for TX: "
                               "%zd expected %zd\n",
                               len, hdr_size);
                        break;
                }
-               len = iov_iter_count(&msg.msg_iter);
+               len = msg_data_left(&msg);
 
                zcopy_used = zcopy && len >= VHOST_GOODCOPY_LEN
                                   && (nvq->upend_idx + 1) % UIO_MAXIOV !=
index c9852ef7e317a6167675f68e7948b6aebea85947..5bf59c8493b763c6dc11ccce18da9c0ac6c0da46 100644 (file)
@@ -139,6 +139,11 @@ static inline struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr
        return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
 }
 
+static inline size_t msg_data_left(struct msghdr *msg)
+{
+       return iov_iter_count(&msg->msg_iter);
+}
+
 /* "Socket"-level control message types: */
 
 #define        SCM_RIGHTS      0x01            /* rw: access rights (array of int) */
index df493d68330c03d1cb5b59e40d31294d7f45b3f8..b80fb91bb3f7e8dc630663cb5e012dc97ac6924f 100644 (file)
@@ -673,7 +673,7 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb,
        if (!chunk)
                return 0;
 
-       if (iov_iter_count(&msg->msg_iter) < chunk) {
+       if (msg_data_left(msg) < chunk) {
                if (__skb_checksum_complete(skb))
                        goto csum_error;
                if (skb_copy_datagram_msg(skb, hlen, msg, chunk))
index 094a6822c71d8cc69b1be28a9c6bb511f8f8b87b..18e3a12eb1b283bd370bdb4c16f5969e30bcec15 100644 (file)
@@ -1119,7 +1119,7 @@ int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 
        sg = !!(sk->sk_route_caps & NETIF_F_SG);
 
-       while (iov_iter_count(&msg->msg_iter)) {
+       while (msg_data_left(msg)) {
                int copy = 0;
                int max = size_goal;
 
@@ -1163,8 +1163,8 @@ new_segment:
                }
 
                /* Try to append data to the end of skb. */
-               if (copy > iov_iter_count(&msg->msg_iter))
-                       copy = iov_iter_count(&msg->msg_iter);
+               if (copy > msg_data_left(msg))
+                       copy = msg_data_left(msg);
 
                /* Where to copy to? */
                if (skb_availroom(skb) > 0) {
@@ -1221,7 +1221,7 @@ new_segment:
                tcp_skb_pcount_set(skb, 0);
 
                copied += copy;
-               if (!iov_iter_count(&msg->msg_iter)) {
+               if (!msg_data_left(msg)) {
                        tcp_tx_timestamp(sk, skb);
                        goto out;
                }
index 7a31a3958364830c1fc7821548f6f06633926828..c0042807bfc6a5e2b6e03d70fbcffe097be73326 100644 (file)
@@ -564,8 +564,8 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
                        max &= ~(call->conn->size_align - 1UL);
 
                        chunk = max;
-                       if (chunk > iov_iter_count(&msg->msg_iter) && !more)
-                               chunk = iov_iter_count(&msg->msg_iter);
+                       if (chunk > msg_data_left(msg) && !more)
+                               chunk = msg_data_left(msg);
 
                        space = chunk + call->conn->size_align;
                        space &= ~(call->conn->size_align - 1UL);
@@ -608,11 +608,11 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
                sp = rxrpc_skb(skb);
 
                /* append next segment of data to the current buffer */
-               if (iov_iter_count(&msg->msg_iter) > 0) {
+               if (msg_data_left(msg) > 0) {
                        int copy = skb_tailroom(skb);
                        ASSERTCMP(copy, >, 0);
-                       if (copy > iov_iter_count(&msg->msg_iter))
-                               copy = iov_iter_count(&msg->msg_iter);
+                       if (copy > msg_data_left(msg))
+                               copy = msg_data_left(msg);
                        if (copy > sp->remain)
                                copy = sp->remain;
 
@@ -633,7 +633,7 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
 
                /* add the packet to the send queue if it's now full */
                if (sp->remain <= 0 ||
-                   (iov_iter_count(&msg->msg_iter) == 0 && !more)) {
+                   (msg_data_left(msg) == 0 && !more)) {
                        struct rxrpc_connection *conn = call->conn;
                        uint32_t seq;
                        size_t pad;
@@ -663,7 +663,7 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
                        sp->hdr.serviceId = conn->service_id;
 
                        sp->hdr.flags = conn->out_clientflag;
-                       if (iov_iter_count(&msg->msg_iter) == 0 && !more)
+                       if (msg_data_left(msg) == 0 && !more)
                                sp->hdr.flags |= RXRPC_LAST_PACKET;
                        else if (CIRC_SPACE(call->acks_head, call->acks_tail,
                                            call->acks_winsz) > 1)
@@ -679,11 +679,10 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
 
                        memcpy(skb->head, &sp->hdr,
                               sizeof(struct rxrpc_header));
-                       rxrpc_queue_packet(call, skb,
-                                          iov_iter_count(&msg->msg_iter) == 0 && !more);
+                       rxrpc_queue_packet(call, skb, !msg_data_left(msg) && !more);
                        skb = NULL;
                }
-       } while (iov_iter_count(&msg->msg_iter) > 0);
+       } while (msg_data_left(msg) > 0);
 
 success:
        ret = copied;
index 21676e469b1335c4b94da6809557538c5b388213..5b0126234606dac94152b69fb42a571b1f3cc7bf 100644 (file)
@@ -612,7 +612,7 @@ EXPORT_SYMBOL(__sock_tx_timestamp);
 
 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)
 {
-       int ret = sock->ops->sendmsg(sock, msg, iov_iter_count(&msg->msg_iter));
+       int ret = sock->ops->sendmsg(sock, msg, msg_data_left(msg));
        BUG_ON(ret == -EIOCBQUEUED);
        return ret;
 }
@@ -620,7 +620,7 @@ static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)
 int sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
        int err = security_socket_sendmsg(sock, msg,
-                                         iov_iter_count(&msg->msg_iter));
+                                         msg_data_left(msg));
 
        return err ?: sock_sendmsg_nosec(sock, msg);
 }