aboutsummaryrefslogtreecommitdiffstats
path: root/net/packet/af_packet.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-11-24 10:42:55 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2014-12-09 16:29:03 -0500
commitc0371da6047abd261bc483c744dbc7d81a116172 (patch)
tree73b4d685f311a83e04f3a684ce18225b409b3f5f /net/packet/af_packet.c
parentd838df2e5dcbb6ed4d82854869e9a30f9aeef6da (diff)
put iov_iter into msghdr
Note that the code _using_ ->msg_iter at that point will be very unhappy with anything other than unshifted iovec-backed iov_iter. We still need to convert users to proper primitives. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/packet/af_packet.c')
-rw-r--r--net/packet/af_packet.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index efa844501136..ed2e620b61df 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2408,11 +2408,8 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
2408 unsigned short gso_type = 0; 2408 unsigned short gso_type = 0;
2409 int hlen, tlen; 2409 int hlen, tlen;
2410 int extra_len = 0; 2410 int extra_len = 0;
2411 struct iov_iter from;
2412 ssize_t n; 2411 ssize_t n;
2413 2412
2414 iov_iter_init(&from, WRITE, msg->msg_iov, msg->msg_iovlen, len);
2415
2416 /* 2413 /*
2417 * Get and verify the address. 2414 * Get and verify the address.
2418 */ 2415 */
@@ -2451,7 +2448,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
2451 len -= vnet_hdr_len; 2448 len -= vnet_hdr_len;
2452 2449
2453 err = -EFAULT; 2450 err = -EFAULT;
2454 n = copy_from_iter(&vnet_hdr, vnet_hdr_len, &from); 2451 n = copy_from_iter(&vnet_hdr, vnet_hdr_len, &msg->msg_iter);
2455 if (n != vnet_hdr_len) 2452 if (n != vnet_hdr_len)
2456 goto out_unlock; 2453 goto out_unlock;
2457 2454
@@ -2522,7 +2519,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
2522 } 2519 }
2523 2520
2524 /* Returns -EFAULT on error */ 2521 /* Returns -EFAULT on error */
2525 err = skb_copy_datagram_from_iter(skb, offset, &from, len); 2522 err = skb_copy_datagram_from_iter(skb, offset, &msg->msg_iter, len);
2526 if (err) 2523 if (err)
2527 goto out_free; 2524 goto out_free;
2528 2525