raw.c: stick msghdr into raw_frag_vec
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 24 Nov 2014 15:52:29 +0000 (10:52 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Dec 2014 21:28:21 +0000 (16:28 -0500)
we'll want access to ->msg_iter

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
net/ipv4/raw.c

index 43385a9..5c901eb 100644 (file)
@@ -82,7 +82,7 @@
 #include <linux/uio.h>
 
 struct raw_frag_vec {
-       struct iovec *iov;
+       struct msghdr *msg;
        union {
                struct icmphdr icmph;
                char c[1];
@@ -440,7 +440,7 @@ static int raw_probe_proto_opt(struct raw_frag_vec *rfv, struct flowi4 *fl4)
        /* We only need the first two bytes. */
        rfv->hlen = 2;
 
-       err = memcpy_fromiovec(rfv->hdr.c, rfv->iov, rfv->hlen);
+       err = memcpy_from_msg(rfv->hdr.c, rfv->msg, rfv->hlen);
        if (err)
                return err;
 
@@ -478,7 +478,7 @@ static int raw_getfrag(void *from, char *to, int offset, int len, int odd,
 
        offset -= rfv->hlen;
 
-       return ip_generic_getfrag(rfv->iov, to, offset, len, odd, skb);
+       return ip_generic_getfrag(rfv->msg->msg_iov, to, offset, len, odd, skb);
 }
 
 static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
@@ -600,7 +600,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                           daddr, saddr, 0, 0);
 
        if (!inet->hdrincl) {
-               rfv.iov = msg->msg_iov;
+               rfv.msg = msg;
                rfv.hlen = 0;
 
                err = raw_probe_proto_opt(&rfv, &fl4);