Commit 6ce8e9ce5989ae13f493062975304700be86d20e

Authored by Al Viro
1 parent 227158db16

new helper: memcpy_from_msg()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Showing 36 changed files with 57 additions and 57 deletions Side-by-side Diff

crypto/algif_skcipher.c
... ... @@ -298,9 +298,9 @@
298 298 len = min_t(unsigned long, len,
299 299 PAGE_SIZE - sg->offset - sg->length);
300 300  
301   - err = memcpy_fromiovec(page_address(sg_page(sg)) +
302   - sg->offset + sg->length,
303   - msg->msg_iov, len);
  301 + err = memcpy_from_msg(page_address(sg_page(sg)) +
  302 + sg->offset + sg->length,
  303 + msg, len);
304 304 if (err)
305 305 goto unlock;
306 306  
... ... @@ -337,8 +337,8 @@
337 337 if (!sg_page(sg + i))
338 338 goto unlock;
339 339  
340   - err = memcpy_fromiovec(page_address(sg_page(sg + i)),
341   - msg->msg_iov, plen);
  340 + err = memcpy_from_msg(page_address(sg_page(sg + i)),
  341 + msg, plen);
342 342 if (err) {
343 343 __free_page(sg_page(sg + i));
344 344 sg_assign_page(sg + i, NULL);
drivers/isdn/mISDN/socket.c
... ... @@ -203,7 +203,7 @@
203 203 if (!skb)
204 204 goto done;
205 205  
206   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  206 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
207 207 err = -EFAULT;
208 208 goto done;
209 209 }
drivers/net/ppp/pppoe.c
... ... @@ -869,7 +869,7 @@
869 869 ph = (struct pppoe_hdr *)skb_put(skb, total_len + sizeof(struct pppoe_hdr));
870 870 start = (char *)&ph->tag[0];
871 871  
872   - error = memcpy_fromiovec(start, m->msg_iov, total_len);
  872 + error = memcpy_from_msg(start, m, total_len);
873 873 if (error < 0) {
874 874 kfree_skb(skb);
875 875 goto end;
include/linux/skbuff.h
... ... @@ -2687,6 +2687,11 @@
2687 2687 int skb_vlan_pop(struct sk_buff *skb);
2688 2688 int skb_vlan_push(struct sk_buff *skb, __be16 vlan_proto, u16 vlan_tci);
2689 2689  
  2690 +static inline int memcpy_from_msg(void *data, struct msghdr *msg, int len)
  2691 +{
  2692 + return memcpy_fromiovec(data, msg->msg_iov, len);
  2693 +}
  2694 +
2690 2695 struct skb_checksum_ops {
2691 2696 __wsum (*update)(const void *mem, int len, __wsum wsum);
2692 2697 __wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len);
include/net/sctp/sm.h
... ... @@ -219,7 +219,7 @@
219 219 const struct sctp_chunk *,
220 220 __u32 tsn);
221 221 struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *,
222   - const struct msghdr *, size_t msg_len);
  222 + struct msghdr *, size_t msg_len);
223 223 struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *,
224 224 const struct sctp_chunk *,
225 225 const __u8 *,
... ... @@ -1659,7 +1659,7 @@
1659 1659  
1660 1660 SOCK_DEBUG(sk, "SK %p: Copy user data (%Zd bytes).\n", sk, len);
1661 1661  
1662   - err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  1662 + err = memcpy_from_msg(skb_put(skb, len), msg, len);
1663 1663 if (err) {
1664 1664 kfree_skb(skb);
1665 1665 err = -EFAULT;
... ... @@ -1549,7 +1549,7 @@
1549 1549 skb_reserve(skb, size - len);
1550 1550  
1551 1551 /* User data follows immediately after the AX.25 data */
1552   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  1552 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
1553 1553 err = -EFAULT;
1554 1554 kfree_skb(skb);
1555 1555 goto out;
net/bluetooth/hci_sock.c
... ... @@ -947,7 +947,7 @@
947 947 if (!skb)
948 948 goto done;
949 949  
950   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  950 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
951 951 err = -EFAULT;
952 952 goto drop;
953 953 }
net/bluetooth/mgmt.c
... ... @@ -5767,7 +5767,7 @@
5767 5767 if (!buf)
5768 5768 return -ENOMEM;
5769 5769  
5770   - if (memcpy_fromiovec(buf, msg->msg_iov, msglen)) {
  5770 + if (memcpy_from_msg(buf, msg, msglen)) {
5771 5771 err = -EFAULT;
5772 5772 goto done;
5773 5773 }
net/bluetooth/rfcomm/sock.c
... ... @@ -588,7 +588,7 @@
588 588 }
589 589 skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
590 590  
591   - err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
  591 + err = memcpy_from_msg(skb_put(skb, size), msg, size);
592 592 if (err) {
593 593 kfree_skb(skb);
594 594 if (sent == 0)
... ... @@ -285,7 +285,7 @@
285 285 if (!skb)
286 286 return err;
287 287  
288   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  288 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
289 289 kfree_skb(skb);
290 290 return -EFAULT;
291 291 }
net/caif/caif_socket.c
... ... @@ -566,7 +566,7 @@
566 566  
567 567 skb_reserve(skb, cf_sk->headroom);
568 568  
569   - ret = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  569 + ret = memcpy_from_msg(skb_put(skb, len), msg, len);
570 570  
571 571 if (ret)
572 572 goto err;
... ... @@ -641,7 +641,7 @@
641 641 */
642 642 size = min_t(int, size, skb_tailroom(skb));
643 643  
644   - err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
  644 + err = memcpy_from_msg(skb_put(skb, size), msg, size);
645 645 if (err) {
646 646 kfree_skb(skb);
647 647 goto out_err;
... ... @@ -858,8 +858,7 @@
858 858  
859 859 /* update can_frames content */
860 860 for (i = 0; i < msg_head->nframes; i++) {
861   - err = memcpy_fromiovec((u8 *)&op->frames[i],
862   - msg->msg_iov, CFSIZ);
  861 + err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
863 862  
864 863 if (op->frames[i].can_dlc > 8)
865 864 err = -EINVAL;
... ... @@ -894,8 +893,7 @@
894 893 op->frames = &op->sframe;
895 894  
896 895 for (i = 0; i < msg_head->nframes; i++) {
897   - err = memcpy_fromiovec((u8 *)&op->frames[i],
898   - msg->msg_iov, CFSIZ);
  896 + err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
899 897  
900 898 if (op->frames[i].can_dlc > 8)
901 899 err = -EINVAL;
... ... @@ -1024,9 +1022,8 @@
1024 1022  
1025 1023 if (msg_head->nframes) {
1026 1024 /* update can_frames content */
1027   - err = memcpy_fromiovec((u8 *)op->frames,
1028   - msg->msg_iov,
1029   - msg_head->nframes * CFSIZ);
  1025 + err = memcpy_from_msg((u8 *)op->frames, msg,
  1026 + msg_head->nframes * CFSIZ);
1030 1027 if (err < 0)
1031 1028 return err;
1032 1029  
... ... @@ -1072,8 +1069,8 @@
1072 1069 }
1073 1070  
1074 1071 if (msg_head->nframes) {
1075   - err = memcpy_fromiovec((u8 *)op->frames, msg->msg_iov,
1076   - msg_head->nframes * CFSIZ);
  1072 + err = memcpy_from_msg((u8 *)op->frames, msg,
  1073 + msg_head->nframes * CFSIZ);
1077 1074 if (err < 0) {
1078 1075 if (op->frames != &op->sframe)
1079 1076 kfree(op->frames);
... ... @@ -1209,7 +1206,7 @@
1209 1206  
1210 1207 can_skb_reserve(skb);
1211 1208  
1212   - err = memcpy_fromiovec(skb_put(skb, CFSIZ), msg->msg_iov, CFSIZ);
  1209 + err = memcpy_from_msg(skb_put(skb, CFSIZ), msg, CFSIZ);
1213 1210 if (err < 0) {
1214 1211 kfree_skb(skb);
1215 1212 return err;
... ... @@ -1285,7 +1282,7 @@
1285 1282  
1286 1283 /* read message head information */
1287 1284  
1288   - ret = memcpy_fromiovec((u8 *)&msg_head, msg->msg_iov, MHSIZ);
  1285 + ret = memcpy_from_msg((u8 *)&msg_head, msg, MHSIZ);
1289 1286 if (ret < 0)
1290 1287 return ret;
1291 1288  
... ... @@ -703,7 +703,7 @@
703 703 can_skb_reserve(skb);
704 704 can_skb_prv(skb)->ifindex = dev->ifindex;
705 705  
706   - err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
  706 + err = memcpy_from_msg(skb_put(skb, size), msg, size);
707 707 if (err < 0)
708 708 goto free_skb;
709 709  
... ... @@ -781,7 +781,7 @@
781 781 goto out_release;
782 782  
783 783 skb_reserve(skb, sk->sk_prot->max_header);
784   - rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  784 + rc = memcpy_from_msg(skb_put(skb, len), msg, len);
785 785 if (rc != 0)
786 786 goto out_discard;
787 787  
net/decnet/af_decnet.c
... ... @@ -2032,7 +2032,7 @@
2032 2032  
2033 2033 skb_reserve(skb, 64 + DN_MAX_NSP_DATA_HEADER);
2034 2034  
2035   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  2035 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
2036 2036 err = -EFAULT;
2037 2037 goto out;
2038 2038 }
net/ieee802154/dgram.c
... ... @@ -276,7 +276,7 @@
276 276 if (err < 0)
277 277 goto out_skb;
278 278  
279   - err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
  279 + err = memcpy_from_msg(skb_put(skb, size), msg, size);
280 280 if (err < 0)
281 281 goto out_skb;
282 282  
net/ieee802154/raw.c
... ... @@ -150,7 +150,7 @@
150 150 skb_reset_mac_header(skb);
151 151 skb_reset_network_header(skb);
152 152  
153   - err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
  153 + err = memcpy_from_msg(skb_put(skb, size), msg, size);
154 154 if (err < 0)
155 155 goto out_skb;
156 156  
... ... @@ -660,7 +660,7 @@
660 660 * Fetch the ICMP header provided by the userland.
661 661 * iovec is modified! The ICMP header is consumed.
662 662 */
663   - if (memcpy_fromiovec(user_icmph, msg->msg_iov, icmph_len))
  663 + if (memcpy_from_msg(user_icmph, msg, icmph_len))
664 664 return -EFAULT;
665 665  
666 666 if (family == AF_INET) {
net/ipv4/tcp_input.c
... ... @@ -4368,7 +4368,7 @@
4368 4368 if (tcp_try_rmem_schedule(sk, skb, skb->truesize))
4369 4369 goto err_free;
4370 4370  
4371   - if (memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size))
  4371 + if (memcpy_from_msg(skb_put(skb, size), msg, size))
4372 4372 goto err_free;
4373 4373  
4374 4374 TCP_SKB_CB(skb)->seq = tcp_sk(sk)->rcv_nxt;
... ... @@ -1319,7 +1319,7 @@
1319 1319 skb_reserve(skb, self->max_header_size + 16);
1320 1320 skb_reset_transport_header(skb);
1321 1321 skb_put(skb, len);
1322   - err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
  1322 + err = memcpy_from_msg(skb_transport_header(skb), msg, len);
1323 1323 if (err) {
1324 1324 kfree_skb(skb);
1325 1325 goto out_err;
... ... @@ -1569,7 +1569,7 @@
1569 1569  
1570 1570 pr_debug("%s(), appending user data\n", __func__);
1571 1571 skb_put(skb, len);
1572   - err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
  1572 + err = memcpy_from_msg(skb_transport_header(skb), msg, len);
1573 1573 if (err) {
1574 1574 kfree_skb(skb);
1575 1575 goto out;
... ... @@ -1678,7 +1678,7 @@
1678 1678  
1679 1679 pr_debug("%s(), appending user data\n", __func__);
1680 1680 skb_put(skb, len);
1681   - err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
  1681 + err = memcpy_from_msg(skb_transport_header(skb), msg, len);
1682 1682 if (err) {
1683 1683 kfree_skb(skb);
1684 1684 goto out;
... ... @@ -1122,7 +1122,7 @@
1122 1122 }
1123 1123 if (iucv->transport == AF_IUCV_TRANS_HIPER)
1124 1124 skb_reserve(skb, sizeof(struct af_iucv_trans_hdr) + ETH_HLEN);
1125   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  1125 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
1126 1126 err = -EFAULT;
1127 1127 goto fail;
1128 1128 }
... ... @@ -3611,7 +3611,7 @@
3611 3611 goto out;
3612 3612  
3613 3613 err = -EFAULT;
3614   - if (memcpy_fromiovec(skb_put(skb,len), msg->msg_iov, len))
  3614 + if (memcpy_from_msg(skb_put(skb,len), msg, len))
3615 3615 goto out;
3616 3616  
3617 3617 hdr = pfkey_get_base_msg(skb, &err);
... ... @@ -441,7 +441,7 @@
441 441 *((__be32 *) skb_put(skb, 4)) = 0;
442 442  
443 443 /* Copy user data into skb */
444   - rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  444 + rc = memcpy_from_msg(skb_put(skb, len), msg, len);
445 445 if (rc < 0) {
446 446 kfree_skb(skb);
447 447 goto error;
... ... @@ -346,8 +346,7 @@
346 346 skb_put(skb, 2);
347 347  
348 348 /* Copy user data into skb */
349   - error = memcpy_fromiovec(skb_put(skb, total_len), m->msg_iov,
350   - total_len);
  349 + error = memcpy_from_msg(skb_put(skb, total_len), m, total_len);
351 350 if (error < 0) {
352 351 kfree_skb(skb);
353 352 goto error_put_sess_tun;
... ... @@ -921,7 +921,7 @@
921 921 skb->dev = llc->dev;
922 922 skb->protocol = llc_proto_type(addr->sllc_arphrd);
923 923 skb_reserve(skb, hdrlen);
924   - rc = memcpy_fromiovec(skb_put(skb, copied), msg->msg_iov, copied);
  924 + rc = memcpy_from_msg(skb_put(skb, copied), msg, copied);
925 925 if (rc)
926 926 goto out;
927 927 if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) {
net/netlink/af_netlink.c
... ... @@ -2325,7 +2325,7 @@
2325 2325 NETLINK_CB(skb).flags = netlink_skb_flags;
2326 2326  
2327 2327 err = -EFAULT;
2328   - if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
  2328 + if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
2329 2329 kfree_skb(skb);
2330 2330 goto out;
2331 2331 }
net/netrom/af_netrom.c
... ... @@ -1113,7 +1113,7 @@
1113 1113 skb_put(skb, len);
1114 1114  
1115 1115 /* User data follows immediately after the NET/ROM transport header */
1116   - if (memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len)) {
  1116 + if (memcpy_from_msg(skb_transport_header(skb), msg, len)) {
1117 1117 kfree_skb(skb);
1118 1118 err = -EFAULT;
1119 1119 goto out;
net/nfc/llcp_commands.c
... ... @@ -665,7 +665,7 @@
665 665 if (msg_data == NULL)
666 666 return -ENOMEM;
667 667  
668   - if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) {
  668 + if (memcpy_from_msg(msg_data, msg, len)) {
669 669 kfree(msg_data);
670 670 return -EFAULT;
671 671 }
... ... @@ -731,7 +731,7 @@
731 731 if (msg_data == NULL)
732 732 return -ENOMEM;
733 733  
734   - if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) {
  734 + if (memcpy_from_msg(msg_data, msg, len)) {
735 735 kfree(msg_data);
736 736 return -EFAULT;
737 737 }
... ... @@ -231,7 +231,7 @@
231 231 if (skb == NULL)
232 232 return rc;
233 233  
234   - rc = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  234 + rc = memcpy_from_msg(skb_put(skb, len), msg, len);
235 235 if (rc < 0) {
236 236 kfree_skb(skb);
237 237 return rc;
net/packet/af_packet.c
... ... @@ -1676,7 +1676,7 @@
1676 1676 if (len < hhlen)
1677 1677 skb_reset_network_header(skb);
1678 1678 }
1679   - err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  1679 + err = memcpy_from_msg(skb_put(skb, len), msg, len);
1680 1680 if (err)
1681 1681 goto out_free;
1682 1682 goto retry;
... ... @@ -2446,8 +2446,7 @@
2446 2446  
2447 2447 len -= vnet_hdr_len;
2448 2448  
2449   - err = memcpy_fromiovec((void *)&vnet_hdr, msg->msg_iov,
2450   - vnet_hdr_len);
  2449 + err = memcpy_from_msg((void *)&vnet_hdr, msg, vnet_hdr_len);
2451 2450 if (err < 0)
2452 2451 goto out_unlock;
2453 2452  
net/phonet/datagram.c
... ... @@ -109,7 +109,7 @@
109 109 return err;
110 110 skb_reserve(skb, MAX_PHONET_HEADER);
111 111  
112   - err = memcpy_fromiovec((void *)skb_put(skb, len), msg->msg_iov, len);
  112 + err = memcpy_from_msg((void *)skb_put(skb, len), msg, len);
113 113 if (err < 0) {
114 114 kfree_skb(skb);
115 115 return err;
... ... @@ -1141,7 +1141,7 @@
1141 1141 return err;
1142 1142  
1143 1143 skb_reserve(skb, MAX_PHONET_HEADER + 3 + pn->aligned);
1144   - err = memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len);
  1144 + err = memcpy_from_msg(skb_put(skb, len), msg, len);
1145 1145 if (err < 0)
1146 1146 goto outfree;
1147 1147  
... ... @@ -1121,7 +1121,7 @@
1121 1121 skb_reset_transport_header(skb);
1122 1122 skb_put(skb, len);
1123 1123  
1124   - err = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
  1124 + err = memcpy_from_msg(skb_transport_header(skb), msg, len);
1125 1125 if (err) {
1126 1126 kfree_skb(skb);
1127 1127 return err;
net/sctp/sm_make_chunk.c
... ... @@ -1001,7 +1001,7 @@
1001 1001  
1002 1002 /* Helper to create ABORT with a SCTP_ERROR_USER_ABORT error. */
1003 1003 struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc,
1004   - const struct msghdr *msg,
  1004 + struct msghdr *msg,
1005 1005 size_t paylen)
1006 1006 {
1007 1007 struct sctp_chunk *retval;
... ... @@ -1018,7 +1018,7 @@
1018 1018 if (!payload)
1019 1019 goto err_payload;
1020 1020  
1021   - err = memcpy_fromiovec(payload, msg->msg_iov, paylen);
  1021 + err = memcpy_from_msg(payload, msg, paylen);
1022 1022 if (err < 0)
1023 1023 goto err_copy;
1024 1024 }
... ... @@ -1170,7 +1170,7 @@
1170 1170 skb_reset_transport_header(skb);
1171 1171 skb_put(skb, len);
1172 1172  
1173   - rc = memcpy_fromiovec(skb_transport_header(skb), msg->msg_iov, len);
  1173 + rc = memcpy_from_msg(skb_transport_header(skb), msg, len);
1174 1174 if (rc)
1175 1175 goto out_kfree_skb;
1176 1176