aboutsummaryrefslogtreecommitdiffstats
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/unix/af_unix.c')
-rw-r--r--net/unix/af_unix.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index e96884380732..8e1b10274b02 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1516,7 +1516,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
1516 skb_put(skb, len - data_len); 1516 skb_put(skb, len - data_len);
1517 skb->data_len = data_len; 1517 skb->data_len = data_len;
1518 skb->len = len; 1518 skb->len = len;
1519 err = skb_copy_datagram_from_iovec(skb, 0, msg->msg_iov, 0, len); 1519 err = skb_copy_datagram_from_iter(skb, 0, &msg->msg_iter, len);
1520 if (err) 1520 if (err)
1521 goto out_free; 1521 goto out_free;
1522 1522
@@ -1694,8 +1694,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
1694 skb_put(skb, size - data_len); 1694 skb_put(skb, size - data_len);
1695 skb->data_len = data_len; 1695 skb->data_len = data_len;
1696 skb->len = size; 1696 skb->len = size;
1697 err = skb_copy_datagram_from_iovec(skb, 0, msg->msg_iov, 1697 err = skb_copy_datagram_from_iter(skb, 0, &msg->msg_iter, size);
1698 sent, size);
1699 if (err) { 1698 if (err) {
1700 kfree_skb(skb); 1699 kfree_skb(skb);
1701 goto out_err; 1700 goto out_err;
@@ -1825,7 +1824,7 @@ static int unix_dgram_recvmsg(struct kiocb *iocb, struct socket *sock,
1825 else if (size < skb->len - skip) 1824 else if (size < skb->len - skip)
1826 msg->msg_flags |= MSG_TRUNC; 1825 msg->msg_flags |= MSG_TRUNC;
1827 1826
1828 err = skb_copy_datagram_iovec(skb, skip, msg->msg_iov, size); 1827 err = skb_copy_datagram_msg(skb, skip, msg, size);
1829 if (err) 1828 if (err)
1830 goto out_free; 1829 goto out_free;
1831 1830
@@ -2030,8 +2029,8 @@ again:
2030 } 2029 }
2031 2030
2032 chunk = min_t(unsigned int, unix_skb_len(skb) - skip, size); 2031 chunk = min_t(unsigned int, unix_skb_len(skb) - skip, size);
2033 if (skb_copy_datagram_iovec(skb, UNIXCB(skb).consumed + skip, 2032 if (skb_copy_datagram_msg(skb, UNIXCB(skb).consumed + skip,
2034 msg->msg_iov, chunk)) { 2033 msg, chunk)) {
2035 if (copied == 0) 2034 if (copied == 0)
2036 copied = -EFAULT; 2035 copied = -EFAULT;
2037 break; 2036 break;