Commit 7eab8d9e authored by Al Viro's avatar Al Viro

new helper: memcpy_to_msg()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent e1693718
...@@ -174,7 +174,7 @@ static int hash_recvmsg(struct kiocb *unused, struct socket *sock, ...@@ -174,7 +174,7 @@ static int hash_recvmsg(struct kiocb *unused, struct socket *sock,
goto unlock; goto unlock;
} }
err = memcpy_toiovec(msg->msg_iov, ctx->result, len); err = memcpy_to_msg(msg, ctx->result, len);
unlock: unlock:
release_sock(sk); release_sock(sk);
......
...@@ -2692,6 +2692,11 @@ static inline int memcpy_from_msg(void *data, struct msghdr *msg, int len) ...@@ -2692,6 +2692,11 @@ static inline int memcpy_from_msg(void *data, struct msghdr *msg, int len)
return memcpy_fromiovec(data, msg->msg_iov, len); return memcpy_fromiovec(data, msg->msg_iov, len);
} }
static inline int memcpy_to_msg(struct msghdr *msg, void *data, int len)
{
return memcpy_toiovec(msg->msg_iov, data, len);
}
struct skb_checksum_ops { struct skb_checksum_ops {
__wsum (*update)(const void *mem, int len, __wsum wsum); __wsum (*update)(const void *mem, int len, __wsum wsum);
__wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len); __wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len);
......
...@@ -418,7 +418,7 @@ static int caif_stream_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -418,7 +418,7 @@ static int caif_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
} }
release_sock(sk); release_sock(sk);
chunk = min_t(unsigned int, skb->len, size); chunk = min_t(unsigned int, skb->len, size);
if (memcpy_toiovec(msg->msg_iov, skb->data, chunk)) { if (memcpy_to_msg(msg, skb->data, chunk)) {
skb_queue_head(&sk->sk_receive_queue, skb); skb_queue_head(&sk->sk_receive_queue, skb);
if (copied == 0) if (copied == 0)
copied = -EFAULT; copied = -EFAULT;
......
...@@ -1555,7 +1555,7 @@ static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -1555,7 +1555,7 @@ static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock,
if (skb->len < size) if (skb->len < size)
size = skb->len; size = skb->len;
err = memcpy_toiovec(msg->msg_iov, skb->data, size); err = memcpy_to_msg(msg, skb->data, size);
if (err < 0) { if (err < 0) {
skb_free_datagram(sk, skb); skb_free_datagram(sk, skb);
return err; return err;
......
...@@ -750,7 +750,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -750,7 +750,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct socket *sock,
else else
size = skb->len; size = skb->len;
err = memcpy_toiovec(msg->msg_iov, skb->data, size); err = memcpy_to_msg(msg, skb->data, size);
if (err < 0) { if (err < 0) {
skb_free_datagram(sk, skb); skb_free_datagram(sk, skb);
return err; return err;
......
...@@ -1760,7 +1760,7 @@ static int dn_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -1760,7 +1760,7 @@ static int dn_recvmsg(struct kiocb *iocb, struct socket *sock,
if ((chunk + copied) > size) if ((chunk + copied) > size)
chunk = size - copied; chunk = size - copied;
if (memcpy_toiovec(msg->msg_iov, skb->data, chunk)) { if (memcpy_to_msg(msg, skb->data, chunk)) {
rv = -EFAULT; rv = -EFAULT;
break; break;
} }
......
...@@ -1349,7 +1349,7 @@ static int tcp_recv_urg(struct sock *sk, struct msghdr *msg, int len, int flags) ...@@ -1349,7 +1349,7 @@ static int tcp_recv_urg(struct sock *sk, struct msghdr *msg, int len, int flags)
if (len > 0) { if (len > 0) {
if (!(flags & MSG_TRUNC)) if (!(flags & MSG_TRUNC))
err = memcpy_toiovec(msg->msg_iov, &c, 1); err = memcpy_to_msg(msg, &c, 1);
len = 1; len = 1;
} else } else
msg->msg_flags |= MSG_TRUNC; msg->msg_flags |= MSG_TRUNC;
......
...@@ -1466,7 +1466,7 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock, ...@@ -1466,7 +1466,7 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock,
} }
chunk = min_t(unsigned int, skb->len, size); chunk = min_t(unsigned int, skb->len, size);
if (memcpy_toiovec(msg->msg_iov, skb->data, chunk)) { if (memcpy_to_msg(msg, skb->data, chunk)) {
skb_queue_head(&sk->sk_receive_queue, skb); skb_queue_head(&sk->sk_receive_queue, skb);
if (copied == 0) if (copied == 0)
copied = -EFAULT; copied = -EFAULT;
......
...@@ -2949,8 +2949,7 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -2949,8 +2949,7 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock,
vnet_hdr.flags = VIRTIO_NET_HDR_F_DATA_VALID; vnet_hdr.flags = VIRTIO_NET_HDR_F_DATA_VALID;
} /* else everything is zero */ } /* else everything is zero */
err = memcpy_toiovec(msg->msg_iov, (void *)&vnet_hdr, err = memcpy_to_msg(msg, (void *)&vnet_hdr, vnet_hdr_len);
vnet_hdr_len);
if (err < 0) if (err < 0)
goto out_free; goto out_free;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment