new helper: memcpy_from_msg()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2014-04-06 21:25:44 -04:00
parent 227158db16
commit 6ce8e9ce59
36 changed files with 57 additions and 57 deletions

View File

@ -298,9 +298,9 @@ static int skcipher_sendmsg(struct kiocb *unused, struct socket *sock,
len = min_t(unsigned long, len, len = min_t(unsigned long, len,
PAGE_SIZE - sg->offset - sg->length); PAGE_SIZE - sg->offset - sg->length);
err = memcpy_fromiovec(page_address(sg_page(sg)) + err = memcpy_from_msg(page_address(sg_page(sg)) +
sg->offset + sg->length, sg->offset + sg->length,
msg->msg_iov, len); msg, len);
if (err) if (err)
goto unlock; goto unlock;
@ -337,8 +337,8 @@ static int skcipher_sendmsg(struct kiocb *unused, struct socket *sock,
if (!sg_page(sg + i)) if (!sg_page(sg + i))
goto unlock; goto unlock;
err = memcpy_fromiovec(page_address(sg_page(sg + i)), err = memcpy_from_msg(page_address(sg_page(sg + i)),
msg->msg_iov, plen); msg, plen);
if (err) { if (err) {
__free_page(sg_page(sg + i)); __free_page(sg_page(sg + i));
sg_assign_page(sg + i, NULL); sg_assign_page(sg + i, NULL);

View File

@ -203,7 +203,7 @@ mISDN_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
if (!skb) if (!skb)
goto done; 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; err = -EFAULT;
goto done; goto done;
} }

View 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)); ph = (struct pppoe_hdr *)skb_put(skb, total_len + sizeof(struct pppoe_hdr));
start = (char *)&ph->tag[0]; 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) { if (error < 0) {
kfree_skb(skb); kfree_skb(skb);
goto end; goto end;

View 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_pop(struct sk_buff *skb);
int skb_vlan_push(struct sk_buff *skb, __be16 vlan_proto, u16 vlan_tci); 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 { 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);

View File

@ -219,7 +219,7 @@ struct sctp_chunk *sctp_make_abort_no_data(const struct sctp_association *,
const struct sctp_chunk *, const struct sctp_chunk *,
__u32 tsn); __u32 tsn);
struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *, 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 *, struct sctp_chunk *sctp_make_abort_violation(const struct sctp_association *,
const struct sctp_chunk *, const struct sctp_chunk *,
const __u8 *, const __u8 *,

View 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); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
err = -EFAULT; err = -EFAULT;

View File

@ -1549,7 +1549,7 @@ static int ax25_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_reserve(skb, size - len); skb_reserve(skb, size - len);
/* User data follows immediately after the AX.25 data */ /* 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; err = -EFAULT;
kfree_skb(skb); kfree_skb(skb);
goto out; goto out;

View File

@ -947,7 +947,7 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
if (!skb) if (!skb)
goto done; 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; err = -EFAULT;
goto drop; goto drop;
} }

View File

@ -5767,7 +5767,7 @@ int mgmt_control(struct sock *sk, struct msghdr *msg, size_t msglen)
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
if (memcpy_fromiovec(buf, msg->msg_iov, msglen)) { if (memcpy_from_msg(buf, msg, msglen)) {
err = -EFAULT; err = -EFAULT;
goto done; goto done;
} }

View File

@ -588,7 +588,7 @@ static int rfcomm_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
} }
skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
if (sent == 0) if (sent == 0)

View File

@ -285,7 +285,7 @@ static int sco_send_frame(struct sock *sk, struct msghdr *msg, int len)
if (!skb) if (!skb)
return err; 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); kfree_skb(skb);
return -EFAULT; return -EFAULT;
} }

View File

@ -566,7 +566,7 @@ static int caif_seqpkt_sendmsg(struct kiocb *kiocb, struct socket *sock,
skb_reserve(skb, cf_sk->headroom); 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) if (ret)
goto err; 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)); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
goto out_err; goto out_err;

View File

@ -858,8 +858,7 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
/* update can_frames content */ /* update can_frames content */
for (i = 0; i < msg_head->nframes; i++) { for (i = 0; i < msg_head->nframes; i++) {
err = memcpy_fromiovec((u8 *)&op->frames[i], err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
msg->msg_iov, CFSIZ);
if (op->frames[i].can_dlc > 8) if (op->frames[i].can_dlc > 8)
err = -EINVAL; err = -EINVAL;
@ -894,8 +893,7 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
op->frames = &op->sframe; op->frames = &op->sframe;
for (i = 0; i < msg_head->nframes; i++) { for (i = 0; i < msg_head->nframes; i++) {
err = memcpy_fromiovec((u8 *)&op->frames[i], err = memcpy_from_msg((u8 *)&op->frames[i], msg, CFSIZ);
msg->msg_iov, CFSIZ);
if (op->frames[i].can_dlc > 8) if (op->frames[i].can_dlc > 8)
err = -EINVAL; err = -EINVAL;
@ -1024,9 +1022,8 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
if (msg_head->nframes) { if (msg_head->nframes) {
/* update can_frames content */ /* update can_frames content */
err = memcpy_fromiovec((u8 *)op->frames, err = memcpy_from_msg((u8 *)op->frames, msg,
msg->msg_iov, msg_head->nframes * CFSIZ);
msg_head->nframes * CFSIZ);
if (err < 0) if (err < 0)
return err; return err;
@ -1072,8 +1069,8 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
} }
if (msg_head->nframes) { if (msg_head->nframes) {
err = memcpy_fromiovec((u8 *)op->frames, msg->msg_iov, err = memcpy_from_msg((u8 *)op->frames, msg,
msg_head->nframes * CFSIZ); msg_head->nframes * CFSIZ);
if (err < 0) { if (err < 0) {
if (op->frames != &op->sframe) if (op->frames != &op->sframe)
kfree(op->frames); kfree(op->frames);
@ -1209,7 +1206,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk)
can_skb_reserve(skb); 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) { if (err < 0) {
kfree_skb(skb); kfree_skb(skb);
return err; return err;
@ -1285,7 +1282,7 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock,
/* read message head information */ /* 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) if (ret < 0)
return ret; return ret;

View File

@ -703,7 +703,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock,
can_skb_reserve(skb); can_skb_reserve(skb);
can_skb_prv(skb)->ifindex = dev->ifindex; 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) if (err < 0)
goto free_skb; goto free_skb;

View File

@ -781,7 +781,7 @@ int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
goto out_release; goto out_release;
skb_reserve(skb, sk->sk_prot->max_header); 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) if (rc != 0)
goto out_discard; goto out_discard;

View File

@ -2032,7 +2032,7 @@ static int dn_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_reserve(skb, 64 + DN_MAX_NSP_DATA_HEADER); 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; err = -EFAULT;
goto out; goto out;
} }

View File

@ -276,7 +276,7 @@ static int dgram_sendmsg(struct kiocb *iocb, struct sock *sk,
if (err < 0) if (err < 0)
goto out_skb; 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) if (err < 0)
goto out_skb; goto out_skb;

View File

@ -150,7 +150,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk,
skb_reset_mac_header(skb); skb_reset_mac_header(skb);
skb_reset_network_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) if (err < 0)
goto out_skb; goto out_skb;

View 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. * Fetch the ICMP header provided by the userland.
* iovec is modified! The ICMP header is consumed. * 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; return -EFAULT;
if (family == AF_INET) { if (family == AF_INET) {

View 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)) if (tcp_try_rmem_schedule(sk, skb, skb->truesize))
goto err_free; 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; goto err_free;
TCP_SKB_CB(skb)->seq = tcp_sk(sk)->rcv_nxt; TCP_SKB_CB(skb)->seq = tcp_sk(sk)->rcv_nxt;

View File

@ -1319,7 +1319,7 @@ static int irda_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_reserve(skb, self->max_header_size + 16); skb_reserve(skb, self->max_header_size + 16);
skb_reset_transport_header(skb); skb_reset_transport_header(skb);
skb_put(skb, len); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
goto out_err; 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__); pr_debug("%s(), appending user data\n", __func__);
skb_put(skb, len); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
goto out; 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__); pr_debug("%s(), appending user data\n", __func__);
skb_put(skb, len); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
goto out; goto out;

View File

@ -1122,7 +1122,7 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
} }
if (iucv->transport == AF_IUCV_TRANS_HIPER) if (iucv->transport == AF_IUCV_TRANS_HIPER)
skb_reserve(skb, sizeof(struct af_iucv_trans_hdr) + ETH_HLEN); 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; err = -EFAULT;
goto fail; goto fail;
} }

View File

@ -3611,7 +3611,7 @@ static int pfkey_sendmsg(struct kiocb *kiocb,
goto out; goto out;
err = -EFAULT; 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; goto out;
hdr = pfkey_get_base_msg(skb, &err); hdr = pfkey_get_base_msg(skb, &err);

View 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; *((__be32 *) skb_put(skb, 4)) = 0;
/* Copy user data into skb */ /* 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) { if (rc < 0) {
kfree_skb(skb); kfree_skb(skb);
goto error; goto error;

View File

@ -346,8 +346,7 @@ static int pppol2tp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msgh
skb_put(skb, 2); skb_put(skb, 2);
/* Copy user data into skb */ /* Copy user data into skb */
error = memcpy_fromiovec(skb_put(skb, total_len), m->msg_iov, error = memcpy_from_msg(skb_put(skb, total_len), m, total_len);
total_len);
if (error < 0) { if (error < 0) {
kfree_skb(skb); kfree_skb(skb);
goto error_put_sess_tun; goto error_put_sess_tun;

View File

@ -921,7 +921,7 @@ static int llc_ui_sendmsg(struct kiocb *iocb, struct socket *sock,
skb->dev = llc->dev; skb->dev = llc->dev;
skb->protocol = llc_proto_type(addr->sllc_arphrd); skb->protocol = llc_proto_type(addr->sllc_arphrd);
skb_reserve(skb, hdrlen); 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) if (rc)
goto out; goto out;
if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) { if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) {

View File

@ -2325,7 +2325,7 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock,
NETLINK_CB(skb).flags = netlink_skb_flags; NETLINK_CB(skb).flags = netlink_skb_flags;
err = -EFAULT; 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); kfree_skb(skb);
goto out; goto out;
} }

View File

@ -1113,7 +1113,7 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_put(skb, len); skb_put(skb, len);
/* User data follows immediately after the NET/ROM transport header */ /* 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); kfree_skb(skb);
err = -EFAULT; err = -EFAULT;
goto out; goto out;

View File

@ -665,7 +665,7 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock,
if (msg_data == NULL) if (msg_data == NULL)
return -ENOMEM; return -ENOMEM;
if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) { if (memcpy_from_msg(msg_data, msg, len)) {
kfree(msg_data); kfree(msg_data);
return -EFAULT; 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) if (msg_data == NULL)
return -ENOMEM; return -ENOMEM;
if (memcpy_fromiovec(msg_data, msg->msg_iov, len)) { if (memcpy_from_msg(msg_data, msg, len)) {
kfree(msg_data); kfree(msg_data);
return -EFAULT; return -EFAULT;
} }

View File

@ -231,7 +231,7 @@ static int rawsock_sendmsg(struct kiocb *iocb, struct socket *sock,
if (skb == NULL) if (skb == NULL)
return rc; 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) { if (rc < 0) {
kfree_skb(skb); kfree_skb(skb);
return rc; return rc;

View File

@ -1676,7 +1676,7 @@ retry:
if (len < hhlen) if (len < hhlen)
skb_reset_network_header(skb); 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) if (err)
goto out_free; goto out_free;
goto retry; goto retry;
@ -2446,8 +2446,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
len -= vnet_hdr_len; len -= vnet_hdr_len;
err = memcpy_fromiovec((void *)&vnet_hdr, msg->msg_iov, err = memcpy_from_msg((void *)&vnet_hdr, msg, vnet_hdr_len);
vnet_hdr_len);
if (err < 0) if (err < 0)
goto out_unlock; goto out_unlock;

View File

@ -109,7 +109,7 @@ static int pn_sendmsg(struct kiocb *iocb, struct sock *sk,
return err; return err;
skb_reserve(skb, MAX_PHONET_HEADER); 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) { if (err < 0) {
kfree_skb(skb); kfree_skb(skb);
return err; return err;

View File

@ -1141,7 +1141,7 @@ static int pep_sendmsg(struct kiocb *iocb, struct sock *sk,
return err; return err;
skb_reserve(skb, MAX_PHONET_HEADER + 3 + pn->aligned); 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) if (err < 0)
goto outfree; goto outfree;

View File

@ -1121,7 +1121,7 @@ static int rose_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_reset_transport_header(skb); skb_reset_transport_header(skb);
skb_put(skb, len); 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) { if (err) {
kfree_skb(skb); kfree_skb(skb);
return err; return err;

View File

@ -1001,7 +1001,7 @@ no_mem:
/* Helper to create ABORT with a SCTP_ERROR_USER_ABORT error. */ /* Helper to create ABORT with a SCTP_ERROR_USER_ABORT error. */
struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc, struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc,
const struct msghdr *msg, struct msghdr *msg,
size_t paylen) size_t paylen)
{ {
struct sctp_chunk *retval; struct sctp_chunk *retval;
@ -1018,7 +1018,7 @@ struct sctp_chunk *sctp_make_abort_user(const struct sctp_association *asoc,
if (!payload) if (!payload)
goto err_payload; goto err_payload;
err = memcpy_fromiovec(payload, msg->msg_iov, paylen); err = memcpy_from_msg(payload, msg, paylen);
if (err < 0) if (err < 0)
goto err_copy; goto err_copy;
} }

View File

@ -1170,7 +1170,7 @@ static int x25_sendmsg(struct kiocb *iocb, struct socket *sock,
skb_reset_transport_header(skb); skb_reset_transport_header(skb);
skb_put(skb, len); 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) if (rc)
goto out_kfree_skb; goto out_kfree_skb;