Loading crypto/algif_hash.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,8 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg, ctx->more = 0; ctx->more = 0; while (iov_iter_count(&msg->msg_iter)) { while (msg_data_left(msg)) { int len = iov_iter_count(&msg->msg_iter); int len = msg_data_left(msg); if (len > limit) if (len > limit) len = limit; len = limit; Loading crypto/algif_skcipher.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -641,7 +641,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg, long copied = 0; long copied = 0; lock_sock(sk); lock_sock(sk); while (iov_iter_count(&msg->msg_iter)) { while (msg_data_left(msg)) { sgl = list_first_entry(&ctx->tsgl, sgl = list_first_entry(&ctx->tsgl, struct skcipher_sg_list, list); struct skcipher_sg_list, list); sg = sgl->sg; sg = sgl->sg; Loading @@ -655,7 +655,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg, goto unlock; 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); used = af_alg_make_sg(&ctx->rsgl, &msg->msg_iter, used); err = used; err = used; Loading drivers/vhost/net.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -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_init(&msg.msg_iter, WRITE, vq->iov, out, len); iov_iter_advance(&msg.msg_iter, hdr_size); iov_iter_advance(&msg.msg_iter, hdr_size); /* Sanity check */ /* Sanity check */ if (!iov_iter_count(&msg.msg_iter)) { if (!msg_data_left(&msg)) { vq_err(vq, "Unexpected header len for TX: " vq_err(vq, "Unexpected header len for TX: " "%zd expected %zd\n", "%zd expected %zd\n", len, hdr_size); len, hdr_size); break; break; } } len = iov_iter_count(&msg.msg_iter); len = msg_data_left(&msg); zcopy_used = zcopy && len >= VHOST_GOODCOPY_LEN zcopy_used = zcopy && len >= VHOST_GOODCOPY_LEN && (nvq->upend_idx + 1) % UIO_MAXIOV != && (nvq->upend_idx + 1) % UIO_MAXIOV != Loading include/linux/socket.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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); 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: */ /* "Socket"-level control message types: */ #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ Loading net/core/datagram.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -673,7 +673,7 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, if (!chunk) if (!chunk) return 0; return 0; if (iov_iter_count(&msg->msg_iter) < chunk) { if (msg_data_left(msg) < chunk) { if (__skb_checksum_complete(skb)) if (__skb_checksum_complete(skb)) goto csum_error; goto csum_error; if (skb_copy_datagram_msg(skb, hlen, msg, chunk)) if (skb_copy_datagram_msg(skb, hlen, msg, chunk)) Loading Loading
crypto/algif_hash.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,8 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg, ctx->more = 0; ctx->more = 0; while (iov_iter_count(&msg->msg_iter)) { while (msg_data_left(msg)) { int len = iov_iter_count(&msg->msg_iter); int len = msg_data_left(msg); if (len > limit) if (len > limit) len = limit; len = limit; Loading
crypto/algif_skcipher.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -641,7 +641,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg, long copied = 0; long copied = 0; lock_sock(sk); lock_sock(sk); while (iov_iter_count(&msg->msg_iter)) { while (msg_data_left(msg)) { sgl = list_first_entry(&ctx->tsgl, sgl = list_first_entry(&ctx->tsgl, struct skcipher_sg_list, list); struct skcipher_sg_list, list); sg = sgl->sg; sg = sgl->sg; Loading @@ -655,7 +655,7 @@ static int skcipher_recvmsg_sync(struct socket *sock, struct msghdr *msg, goto unlock; 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); used = af_alg_make_sg(&ctx->rsgl, &msg->msg_iter, used); err = used; err = used; Loading
drivers/vhost/net.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -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_init(&msg.msg_iter, WRITE, vq->iov, out, len); iov_iter_advance(&msg.msg_iter, hdr_size); iov_iter_advance(&msg.msg_iter, hdr_size); /* Sanity check */ /* Sanity check */ if (!iov_iter_count(&msg.msg_iter)) { if (!msg_data_left(&msg)) { vq_err(vq, "Unexpected header len for TX: " vq_err(vq, "Unexpected header len for TX: " "%zd expected %zd\n", "%zd expected %zd\n", len, hdr_size); len, hdr_size); break; break; } } len = iov_iter_count(&msg.msg_iter); len = msg_data_left(&msg); zcopy_used = zcopy && len >= VHOST_GOODCOPY_LEN zcopy_used = zcopy && len >= VHOST_GOODCOPY_LEN && (nvq->upend_idx + 1) % UIO_MAXIOV != && (nvq->upend_idx + 1) % UIO_MAXIOV != Loading
include/linux/socket.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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); 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: */ /* "Socket"-level control message types: */ #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ Loading
net/core/datagram.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -673,7 +673,7 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, if (!chunk) if (!chunk) return 0; return 0; if (iov_iter_count(&msg->msg_iter) < chunk) { if (msg_data_left(msg) < chunk) { if (__skb_checksum_complete(skb)) if (__skb_checksum_complete(skb)) goto csum_error; goto csum_error; if (skb_copy_datagram_msg(skb, hlen, msg, chunk)) if (skb_copy_datagram_msg(skb, hlen, msg, chunk)) Loading