new helper: memcpy_from_msg()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 7 Apr 2014 01:25:44 +0000 (21:25 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 24 Nov 2014 09:28:48 +0000 (04:28 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
36 files changed:
crypto/algif_skcipher.c
drivers/isdn/mISDN/socket.c
drivers/net/ppp/pppoe.c
include/linux/skbuff.h
include/net/sctp/sm.h
net/appletalk/ddp.c
net/ax25/af_ax25.c
net/bluetooth/hci_sock.c
net/bluetooth/mgmt.c
net/bluetooth/rfcomm/sock.c
net/bluetooth/sco.c
net/caif/caif_socket.c
net/can/bcm.c
net/can/raw.c
net/dccp/proto.c
net/decnet/af_decnet.c
net/ieee802154/dgram.c
net/ieee802154/raw.c
net/ipv4/ping.c
net/ipv4/tcp_input.c
net/irda/af_irda.c
net/iucv/af_iucv.c
net/key/af_key.c
net/l2tp/l2tp_ip.c
net/l2tp/l2tp_ppp.c
net/llc/af_llc.c
net/netlink/af_netlink.c
net/netrom/af_netrom.c
net/nfc/llcp_commands.c
net/nfc/rawsock.c
net/packet/af_packet.c
net/phonet/datagram.c
net/phonet/pep.c
net/rose/af_rose.c
net/sctp/sm_make_chunk.c
net/x25/af_x25.c

index 83187f497c7c65dddd2248170a50976e568d82e5..c3b482bee2081262a56a6698fbede2ae3f39906a 100644 (file)
@@ -298,9 +298,9 @@ static int skcipher_sendmsg(struct kiocb *unused, struct socket *sock,
                        len = min_t(unsigned long, len,
                                    PAGE_SIZE - sg->offset - sg->length);
 
-                       err = memcpy_fromiovec(page_address(sg_page(sg)) +
-                                              sg->offset + sg->length,
-                                              msg->msg_iov, len);
+                       err = memcpy_from_msg(page_address(sg_page(sg)) +
+                                             sg->offset + sg->length,
+                                             msg, len);
                        if (err)
                                goto unlock;
 
@@ -337,8 +337,8 @@ static int skcipher_sendmsg(struct kiocb *unused, struct socket *sock,
                        if (!sg_page(sg + i))
                                goto unlock;
 
-                       err = memcpy_fromiovec(page_address(sg_page(sg + i)),
-                                              msg->msg_iov, plen);
+                       err = memcpy_from_msg(page_address(sg_page(sg + i)),
+                                             msg, plen);
                        if (err) {
                                __free_page(sg_page(sg + i));
                                sg_assign_page(sg + i, NULL);
index dcbd8589f0c4fc29034da257fa907612dbd3f02e..84b35925ee4dfba74eecaefe85913ee471a74494 100644 (file)
@@ -203,7 +203,7 @@ mISDN_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
        if (!skb)
                goto done;
 
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                err = -EFAULT;
                goto done;
        }
index 443cbbf5c55f684db9ee4bcfbd69fc06706c0957..d2408a5e43a6a1fdef0ba85f5fb19b10ffca4743 100644 (file)
@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock,
        ph = (struct pppoe_hdr *)skb_put(skb, total_len + sizeof(struct pppoe_hdr));
        start = (char *)&ph->tag[0];
 
-       error = memcpy_fromiovec(start, m->msg_iov, total_len);
+       error = memcpy_from_msg(start, m, total_len);
        if (error < 0) {
                kfree_skb(skb);
                goto end;
index cbe4b2078b30dc4d3fc66b462aa957fabbe5836c..97dc5f8123b326cc7ed1c102a765ada789592176 100644 (file)
@@ -2687,6 +2687,11 @@ int skb_ensure_writable(struct sk_buff *skb, int write_len);
 int skb_vlan_pop(struct sk_buff *skb);
 int skb_vlan_push(struct sk_buff *skb, __be16 vlan_proto, u16 vlan_tci);
 
+static inline int memcpy_from_msg(void *data, struct msghdr *msg, int len)
+{
+       return memcpy_fromiovec(data, msg->msg_iov, len);
+}
+
 struct skb_checksum_ops {
        __wsum (*update)(const void *mem, int len, __wsum wsum);
        __wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len);
index 72a31db47ded2837f967247cc17840aed90197ab..487ef34bbd63ff1cfe511c7ee8b1501593a14de3 100644 (file)
@@ -219,7 +219,7 @@ struct sctp_chunk *sctp_make_abort_no_data(const struct sctp_association *,
                                      const struct sctp_chunk *,
                                      __u32 tsn);
 struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *,
-                                       const struct msghdr *, size_t msg_len);
+                                       struct msghdr *, size_t msg_len);
 struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *,
                                   const struct sctp_chunk *,
                                   const __u8 *,
index 425942db17f64820248d1d830b9ecdd12ebdf8e6..0d0766ea5ab104c5bba47f3b8ca32b1858e9c94d 100644 (file)
@@ -1659,7 +1659,7 @@ static int atalk_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
 
        SOCK_DEBUG(sk, "SK %p: Copy user data (%Zd bytes).\n", sk, len);
 
-       err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_put(skb, len), msg, len);
        if (err) {
                kfree_skb(skb);
                err = -EFAULT;
index f4f835e1937859da05ed48b18e813985727ce67a..ca049a7c9287d703f789b5842472a768152dd7ca 100644 (file)
@@ -1549,7 +1549,7 @@ static int ax25_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb_reserve(skb, size - len);
 
        /* User data follows immediately after the AX.25 data */
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                err = -EFAULT;
                kfree_skb(skb);
                goto out;
index 5e2cd25359781784018890be26b8196ff801dd55..2c245fdf319a60022328e8f3918251db526f88f8 100644 (file)
@@ -947,7 +947,7 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
        if (!skb)
                goto done;
 
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                err = -EFAULT;
                goto drop;
        }
index cbeef5f62f3b25380fbde84c853bca2b30aab820..f3e4a16fb1570e665a5c4177ffa69de10df4dbbe 100644 (file)
@@ -5767,7 +5767,7 @@ int mgmt_control(struct sock *sk, struct msghdr *msg, size_t msglen)
        if (!buf)
                return -ENOMEM;
 
-       if (memcpy_fromiovec(buf, msg->msg_iov, msglen)) {
+       if (memcpy_from_msg(buf, msg, msglen)) {
                err = -EFAULT;
                goto done;
        }
index 8bbbb5ec468c373f86c6caafe9187f3684775915..2348176401a0b19ad3b5e9129999381f43da50a0 100644 (file)
@@ -588,7 +588,7 @@ static int rfcomm_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
                }
                skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
 
-               err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
+               err = memcpy_from_msg(skb_put(skb, size), msg, size);
                if (err) {
                        kfree_skb(skb);
                        if (sent == 0)
index 7ee9e4ab00f882f827f7b63361dc82a24ca72a23..30e5ea3f1ad311388bf7f95aec8f70cb88e8fab9 100644 (file)
@@ -285,7 +285,7 @@ static int sco_send_frame(struct sock *sk, struct msghdr *msg, int len)
        if (!skb)
                return err;
 
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                kfree_skb(skb);
                return -EFAULT;
        }
index fbcd156099fbbaea571f694883e4b69c8fa5f979..230f14026c113ecaf5563242285af2eb5bdf8f1d 100644 (file)
@@ -566,7 +566,7 @@ static int caif_seqpkt_sendmsg(struct kiocb *kiocb, struct socket *sock,
 
        skb_reserve(skb, cf_sk->headroom);
 
-       ret = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       ret = memcpy_from_msg(skb_put(skb, len), msg, len);
 
        if (ret)
                goto err;
@@ -641,7 +641,7 @@ static int caif_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
                 */
                size = min_t(int, size, skb_tailroom(skb));
 
-               err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
+               err = memcpy_from_msg(skb_put(skb, size), msg, size);
                if (err) {
                        kfree_skb(skb);
                        goto out_err;
index dcb75c0e66c1b69979a88c65efe43084046f8bc2..b9a1f715df18baf83234e919f1dd989b550842d3 100644 (file)
@@ -858,8 +858,7 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
 
                /* update can_frames content */
                for (i = 0; i < msg_head->nframes; i++) {
-                       err = memcpy_fromiovec((u8 *)&op->frames[i],
-                                              msg->msg_iov, CFSIZ);
+                       err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
 
                        if (op->frames[i].can_dlc > 8)
                                err = -EINVAL;
@@ -894,8 +893,7 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
                        op->frames = &op->sframe;
 
                for (i = 0; i < msg_head->nframes; i++) {
-                       err = memcpy_fromiovec((u8 *)&op->frames[i],
-                                              msg->msg_iov, CFSIZ);
+                       err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
 
                        if (op->frames[i].can_dlc > 8)
                                err = -EINVAL;
@@ -1024,9 +1022,8 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
 
                if (msg_head->nframes) {
                        /* update can_frames content */
-                       err = memcpy_fromiovec((u8 *)op->frames,
-                                              msg->msg_iov,
-                                              msg_head->nframes * CFSIZ);
+                       err = memcpy_from_msg((u8 *)op->frames, msg,
+                                             msg_head->nframes * CFSIZ);
                        if (err < 0)
                                return err;
 
@@ -1072,8 +1069,8 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
                }
 
                if (msg_head->nframes) {
-                       err = memcpy_fromiovec((u8 *)op->frames, msg->msg_iov,
-                                              msg_head->nframes * CFSIZ);
+                       err = memcpy_from_msg((u8 *)op->frames, msg,
+                                             msg_head->nframes * CFSIZ);
                        if (err < 0) {
                                if (op->frames != &op->sframe)
                                        kfree(op->frames);
@@ -1209,7 +1206,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk)
 
        can_skb_reserve(skb);
 
-       err = memcpy_fromiovec(skb_put(skb, CFSIZ), msg->msg_iov, CFSIZ);
+       err = memcpy_from_msg(skb_put(skb, CFSIZ), msg, CFSIZ);
        if (err < 0) {
                kfree_skb(skb);
                return err;
@@ -1285,7 +1282,7 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock,
 
        /* read message head information */
 
-       ret = memcpy_fromiovec((u8 *)&msg_head, msg->msg_iov, MHSIZ);
+       ret = memcpy_from_msg((u8 *)&msg_head, msg, MHSIZ);
        if (ret < 0)
                return ret;
 
index 081e81fd017fa53f7a6ed3afd341601b43377531..0e4004fb687604a417cff2092f60c6778d342c69 100644 (file)
@@ -703,7 +703,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock,
        can_skb_reserve(skb);
        can_skb_prv(skb)->ifindex = dev->ifindex;
 
-       err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
+       err = memcpy_from_msg(skb_put(skb, size), msg, size);
        if (err < 0)
                goto free_skb;
 
index 8e6ae9422a7bf05543de4ba8f279e40de3c55c8b..19f0387390879cca24873e736f6879245e56e575 100644 (file)
@@ -781,7 +781,7 @@ int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                goto out_release;
 
        skb_reserve(skb, sk->sk_prot->max_header);
-       rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
        if (rc != 0)
                goto out_discard;
 
index 25733d53814763c85e49a612df3bbcdb202992d6..e2e2e3cb91137af20dec566005f2f4ed418b5e60 100644 (file)
@@ -2032,7 +2032,7 @@ static int dn_sendmsg(struct kiocb *iocb, struct socket *sock,
 
                skb_reserve(skb, 64 + DN_MAX_NSP_DATA_HEADER);
 
-               if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+               if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                        err = -EFAULT;
                        goto out;
                }
index b8555ec71387f1c98f2403ee22926cff846225a9..2c7a93e7167e97bc22b949812550a46e2f48be9d 100644 (file)
@@ -276,7 +276,7 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk,
        if (err < 0)
                goto out_skb;
 
-       err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
+       err = memcpy_from_msg(skb_put(skb, size), msg, size);
        if (err < 0)
                goto out_skb;
 
index 21c38945ab8b0b2ddef710b609f58d4ebecaaf5c..61e9d2972947e7827a2af431ec5000b70dc9d99f 100644 (file)
@@ -150,7 +150,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk,
        skb_reset_mac_header(skb);
        skb_reset_network_header(skb);
 
-       err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
+       err = memcpy_from_msg(skb_put(skb, size), msg, size);
        if (err < 0)
                goto out_skb;
 
index ce2920f5bef391c8e0c500ba8b9d17c415621274..ef8f6ee904738934500e5a2872f20d329677e604 100644 (file)
@@ -660,7 +660,7 @@ int ping_common_sendmsg(int family, struct msghdr *msg, size_t len,
         *      Fetch the ICMP header provided by the userland.
         *      iovec is modified! The ICMP header is consumed.
         */
-       if (memcpy_fromiovec(user_icmph, msg->msg_iov, icmph_len))
+       if (memcpy_from_msg(user_icmph, msg, icmph_len))
                return -EFAULT;
 
        if (family == AF_INET) {
index d22a31f27ab4f16d40d5a168cbb7b01dbe20a2c5..69de1a1c05c9fc575b171f85711a1e3c5aede8c0 100644 (file)
@@ -4368,7 +4368,7 @@ int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size)
        if (tcp_try_rmem_schedule(sk, skb, skb->truesize))
                goto err_free;
 
-       if (memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size))
+       if (memcpy_from_msg(skb_put(skb, size), msg, size))
                goto err_free;
 
        TCP_SKB_CB(skb)->seq = tcp_sk(sk)->rcv_nxt;
index e8c409055922924c6f7a868e10b892ae523a73a9..9052462cf42a3c7f1adb0a1771d5f5e67bef3ba3 100644 (file)
@@ -1319,7 +1319,7 @@ static int irda_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb_reserve(skb, self->max_header_size + 16);
        skb_reset_transport_header(skb);
        skb_put(skb, len);
-       err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_transport_header(skb), msg, len);
        if (err) {
                kfree_skb(skb);
                goto out_err;
@@ -1569,7 +1569,7 @@ static int irda_sendmsg_dgram(struct kiocb *iocb, struct socket *sock,
 
        pr_debug("%s(), appending user data\n", __func__);
        skb_put(skb, len);
-       err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_transport_header(skb), msg, len);
        if (err) {
                kfree_skb(skb);
                goto out;
@@ -1678,7 +1678,7 @@ static int irda_sendmsg_ultra(struct kiocb *iocb, struct socket *sock,
 
        pr_debug("%s(), appending user data\n", __func__);
        skb_put(skb, len);
-       err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_transport_header(skb), msg, len);
        if (err) {
                kfree_skb(skb);
                goto out;
index 057b5647ef925ef5fbc0edcded57226ca511b8b8..1cd3f810723985efcbd13431e078b9885de2e2f7 100644 (file)
@@ -1122,7 +1122,7 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
        }
        if (iucv->transport == AF_IUCV_TRANS_HIPER)
                skb_reserve(skb, sizeof(struct af_iucv_trans_hdr) + ETH_HLEN);
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                err = -EFAULT;
                goto fail;
        }
index e5883091a8c6b4bd985ebaaa5b4c0b1e401b652c..f8ac939d52b4b83ce3720e274f33461347029661 100644 (file)
@@ -3611,7 +3611,7 @@ static int pfkey_sendmsg(struct kiocb *kiocb,
                goto out;
 
        err = -EFAULT;
-       if (memcpy_fromiovec(skb_put(skb,len), msg->msg_iov, len))
+       if (memcpy_from_msg(skb_put(skb,len), msg, len))
                goto out;
 
        hdr = pfkey_get_base_msg(skb, &err);
index a6cc1fed2b529a9e97248d1a6e47585067c4e24b..05dfc8aa36afc83b61e2cefeb76738ded8a4db2d 100644 (file)
@@ -441,7 +441,7 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
        *((__be32 *) skb_put(skb, 4)) = 0;
 
        /* Copy user data into skb */
-       rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
        if (rc < 0) {
                kfree_skb(skb);
                goto error;
index c559bcdf4679eb4e68123bc4d4f31cabf6b035f9..cc7a828fc914d7e05a9495b70df4b1411e0de60e 100644 (file)
@@ -346,8 +346,7 @@ static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msgh
        skb_put(skb, 2);
 
        /* Copy user data into skb */
-       error = memcpy_fromiovec(skb_put(skb, total_len), m->msg_iov,
-                                total_len);
+       error = memcpy_from_msg(skb_put(skb, total_len), m, total_len);
        if (error < 0) {
                kfree_skb(skb);
                goto error_put_sess_tun;
index af662669f9513e4b643448d201846ca3fc647ccd..2c0b83ce43bda478f6c56ebdc0951a54658c9098 100644 (file)
@@ -921,7 +921,7 @@ static int llc_ui_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb->dev      = llc->dev;
        skb->protocol = llc_proto_type(addr->sllc_arphrd);
        skb_reserve(skb, hdrlen);
-       rc = memcpy_fromiovec(skb_put(skb, copied), msg->msg_iov, copied);
+       rc = memcpy_from_msg(skb_put(skb, copied), msg, copied);
        if (rc)
                goto out;
        if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) {
index e1aad6eeac147c04231e0762e91675414c02e4b5..63aa5c8acf1285f6864a11dcf572eb022d7fe624 100644 (file)
@@ -2325,7 +2325,7 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock,
        NETLINK_CB(skb).flags   = netlink_skb_flags;
 
        err = -EFAULT;
-       if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
                kfree_skb(skb);
                goto out;
        }
index 7e13f6afcd1fb774264a3fa890603fc1c633baaf..69f1d5e9959f23646e82686cf5d17e1685c34c4f 100644 (file)
@@ -1113,7 +1113,7 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb_put(skb, len);
 
        /* User data follows immediately after the NET/ROM transport header */
-       if (memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len)) {
+       if (memcpy_from_msg(skb_transport_header(skb), msg, len)) {
                kfree_skb(skb);
                err = -EFAULT;
                goto out;
index a3ad69a4c648c76779bf496153bfa7eb01f5354c..c4da0c2d8a14dc8c7e676dc0ca3b4900ab31318f 100644 (file)
@@ -665,7 +665,7 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock,
        if (msg_data == NULL)
                return -ENOMEM;
 
-       if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) {
+       if (memcpy_from_msg(msg_data, msg, len)) {
                kfree(msg_data);
                return -EFAULT;
        }
@@ -731,7 +731,7 @@ int nfc_llcp_send_ui_frame(struct nfc_llcp_sock *sock, u8 ssap, u8 dsap,
        if (msg_data == NULL)
                return -ENOMEM;
 
-       if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) {
+       if (memcpy_from_msg(msg_data, msg, len)) {
                kfree(msg_data);
                return -EFAULT;
        }
index 9d7d2b7ba5e413ac81e038eb099de6be5d81cfe4..373e138c0ab6687686c084ac6daad55af7b1dc72 100644 (file)
@@ -231,7 +231,7 @@ static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock,
        if (skb == NULL)
                return rc;
 
-       rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
        if (rc < 0) {
                kfree_skb(skb);
                return rc;
index 58af58026dd2889d7565f2ecc46506f0400f6d4a..07ac95014ecb695d853c6a300ece4b99c8c1b6ed 100644 (file)
@@ -1676,7 +1676,7 @@ retry:
                        if (len < hhlen)
                                skb_reset_network_header(skb);
                }
-               err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+               err = memcpy_from_msg(skb_put(skb, len), msg, len);
                if (err)
                        goto out_free;
                goto retry;
@@ -2446,8 +2446,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
 
                len -= vnet_hdr_len;
 
-               err = memcpy_fromiovec((void *)&vnet_hdr, msg->msg_iov,
-                                      vnet_hdr_len);
+               err = memcpy_from_msg((void *)&vnet_hdr, msg, vnet_hdr_len);
                if (err < 0)
                        goto out_unlock;
 
index 0918bc21eae6483f4f98cbdcbf9063b0b2cc10fd..26054b4b467c63d3bce92b8226ec767ad65ad960 100644 (file)
@@ -109,7 +109,7 @@ static int pn_sendmsg(struct kiocb *iocb, struct sock *sk,
                return err;
        skb_reserve(skb, MAX_PHONET_HEADER);
 
-       err = memcpy_fromiovec((void *)skb_put(skb, len), msg->msg_iov, len);
+       err = memcpy_from_msg((void *)skb_put(skb, len), msg, len);
        if (err < 0) {
                kfree_skb(skb);
                return err;
index 9cd069dfaf6518700575b05b0b56e811b8f6078c..5d3f2b7507d45a9b78ba0fd412cc3a8f57ad9178 100644 (file)
@@ -1141,7 +1141,7 @@ static int pep_sendmsg(struct kiocb *iocb, struct sock *sk,
                return err;
 
        skb_reserve(skb, MAX_PHONET_HEADER + 3 + pn->aligned);
-       err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_put(skb, len), msg, len);
        if (err < 0)
                goto outfree;
 
index 9b600c20a7a326e357d4917f149d1f2276bee597..43bac7c4dd9e62b136b97ad2fa99d81dbd39bf11 100644 (file)
@@ -1121,7 +1121,7 @@ static int rose_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb_reset_transport_header(skb);
        skb_put(skb, len);
 
-       err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
+       err = memcpy_from_msg(skb_transport_header(skb), msg, len);
        if (err) {
                kfree_skb(skb);
                return err;
index 9f32741abb1c7b142265297dc2fac78b74b3d195..e49bccebb0cc4d7f94eb36661e467b6ec4b5ad45 100644 (file)
@@ -1001,7 +1001,7 @@ no_mem:
 
 /* Helper to create ABORT with a SCTP_ERROR_USER_ABORT error.  */
 struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc,
-                                       const struct msghdr *msg,
+                                       struct msghdr *msg,
                                        size_t paylen)
 {
        struct sctp_chunk *retval;
@@ -1018,7 +1018,7 @@ struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc,
                if (!payload)
                        goto err_payload;
 
-               err = memcpy_fromiovec(payload, msg->msg_iov, paylen);
+               err = memcpy_from_msg(payload, msg, paylen);
                if (err < 0)
                        goto err_copy;
        }
index 59e785bfde6518124939f03795f17e214574268b..d9149b68b9bc5c1d100d654d256048b30e268cdb 100644 (file)
@@ -1170,7 +1170,7 @@ static int x25_sendmsg(struct kiocb *iocb, struct socket *sock,
        skb_reset_transport_header(skb);
        skb_put(skb, len);
 
-       rc = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
+       rc = memcpy_from_msg(skb_transport_header(skb), msg, len);
        if (rc)
                goto out_kfree_skb;