From: yuan linyu <linyu.y...@alcatel-sbell.com.cn>

add these two wrappers in skbuff.h which is better named
than previous and only used for skb.

Signed-off-by: yuan linyu <linyu.y...@alcatel-sbell.com.cn>
---
 drivers/isdn/mISDN/socket.c        |  2 +-
 drivers/staging/irda/net/af_irda.c |  2 +-
 include/linux/skbuff.h             | 10 ++++++++++
 net/appletalk/ddp.c                |  2 +-
 net/ax25/af_ax25.c                 |  2 +-
 net/bluetooth/hci_sock.c           |  4 ++--
 net/bluetooth/rfcomm/sock.c        |  2 +-
 net/bluetooth/sco.c                |  2 +-
 net/caif/caif_socket.c             |  6 +++---
 net/can/bcm.c                      |  4 ++--
 net/can/raw.c                      |  4 ++--
 net/dccp/proto.c                   |  2 +-
 net/decnet/af_decnet.c             |  4 ++--
 net/ieee802154/socket.c            |  4 ++--
 net/ipx/ipx_route.c                |  2 +-
 net/key/af_key.c                   |  2 +-
 net/l2tp/l2tp_ip.c                 |  2 +-
 net/l2tp/l2tp_ppp.c                |  2 +-
 net/llc/af_llc.c                   |  2 +-
 net/netlink/af_netlink.c           |  2 +-
 net/nfc/rawsock.c                  |  2 +-
 net/packet/af_packet.c             |  2 +-
 net/phonet/datagram.c              |  2 +-
 net/phonet/pep.c                   |  2 +-
 24 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c
index c5603d1..19ecf62 100644
--- a/drivers/isdn/mISDN/socket.c
+++ b/drivers/isdn/mISDN/socket.c
@@ -202,7 +202,7 @@ mISDN_sock_sendmsg(struct socket *sock, struct msghdr *msg, 
size_t len)
        if (!skb)
                goto done;
 
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                err = -EFAULT;
                goto done;
        }
diff --git a/drivers/staging/irda/net/af_irda.c 
b/drivers/staging/irda/net/af_irda.c
index 23fa7c8..159fc1a 100644
--- a/drivers/staging/irda/net/af_irda.c
+++ b/drivers/staging/irda/net/af_irda.c
@@ -1469,7 +1469,7 @@ static int irda_recvmsg_stream(struct socket *sock, 
struct msghdr *msg,
                }
 
                chunk = min_t(unsigned int, skb->len, size);
-               if (memcpy_to_msg(msg, skb->data, chunk)) {
+               if (skb_memcpy_to_msg(msg, skb, chunk)) {
                        skb_queue_head(&sk->sk_receive_queue, skb);
                        if (copied == 0)
                                copied = -EFAULT;
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 90868d1..901fa60 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -3294,6 +3294,16 @@ int skb_vlan_push(struct sk_buff *skb, __be16 
vlan_proto, u16 vlan_tci);
 struct sk_buff *pskb_extract(struct sk_buff *skb, int off, int to_copy,
                             gfp_t gfp);
 
+static inline int skb_memcpy_from_msg(struct sk_buff *skb, struct msghdr *msg, 
int len)
+{
+       return memcpy_from_msg(skb_put(skb, len), msg, len);
+}
+
+static inline int skb_memcpy_to_msg(struct msghdr *msg, struct sk_buff *skb, 
int len)
+{
+       return memcpy_to_msg(msg, skb->data, len);
+}
+
 struct skb_checksum_ops {
        __wsum (*update)(const void *mem, int len, __wsum wsum);
        __wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len);
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index 5d035c1..c7846c3 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1658,7 +1658,7 @@ static int atalk_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
 
        SOCK_DEBUG(sk, "SK %p: Copy user data (%zd bytes).\n", sk, len);
 
-       err = memcpy_from_msg(skb_put(skb, len), msg, len);
+       err = skb_memcpy_from_msg(skb, msg, len);
        if (err) {
                kfree_skb(skb);
                err = -EFAULT;
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
index f3f9d18..442763e 100644
--- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c
@@ -1552,7 +1552,7 @@ static int ax25_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
        skb_reserve(skb, size - len);
 
        /* User data follows immediately after the AX.25 data */
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                err = -EFAULT;
                kfree_skb(skb);
                goto out;
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 65d734c..349c79a 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -1601,7 +1601,7 @@ static int hci_logging_frame(struct sock *sk, struct 
msghdr *msg, int len)
        if (!skb)
                return err;
 
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                err = -EFAULT;
                goto drop;
        }
@@ -1726,7 +1726,7 @@ static int hci_sock_sendmsg(struct socket *sock, struct 
msghdr *msg,
        if (!skb)
                goto done;
 
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                err = -EFAULT;
                goto drop;
        }
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 1aaccf6..41d19dc 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -594,7 +594,7 @@ static int rfcomm_sock_sendmsg(struct socket *sock, struct 
msghdr *msg,
                }
                skb_reserve(skb, RFCOMM_SKB_HEAD_RESERVE);
 
-               err = memcpy_from_msg(skb_put(skb, size), msg, size);
+               err = skb_memcpy_from_msg(skb, msg, size);
                if (err) {
                        kfree_skb(skb);
                        if (sent == 0)
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 795e920..01958d2 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -288,7 +288,7 @@ static int sco_send_frame(struct sock *sk, struct msghdr 
*msg, int len)
        if (!skb)
                return err;
 
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                kfree_skb(skb);
                return -EFAULT;
        }
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
index 632d5a4..6b49e5a 100644
--- a/net/caif/caif_socket.c
+++ b/net/caif/caif_socket.c
@@ -422,7 +422,7 @@ static int caif_stream_recvmsg(struct socket *sock, struct 
msghdr *msg,
                }
                release_sock(sk);
                chunk = min_t(unsigned int, skb->len, size);
-               if (memcpy_to_msg(msg, skb->data, chunk)) {
+               if (skb_memcpy_to_msg(msg, skb, chunk)) {
                        skb_queue_head(&sk->sk_receive_queue, skb);
                        if (copied == 0)
                                copied = -EFAULT;
@@ -570,7 +570,7 @@ static int caif_seqpkt_sendmsg(struct socket *sock, struct 
msghdr *msg,
 
        skb_reserve(skb, cf_sk->headroom);
 
-       ret = memcpy_from_msg(skb_put(skb, len), msg, len);
+       ret = skb_memcpy_from_msg(skb, msg, len);
 
        if (ret)
                goto err;
@@ -645,7 +645,7 @@ static int caif_stream_sendmsg(struct socket *sock, struct 
msghdr *msg,
                 */
                size = min_t(int, size, skb_tailroom(skb));
 
-               err = memcpy_from_msg(skb_put(skb, size), msg, size);
+               err = skb_memcpy_from_msg(skb, msg, size);
                if (err) {
                        kfree_skb(skb);
                        goto out_err;
diff --git a/net/can/bcm.c b/net/can/bcm.c
index 47a8748d..6fb4670 100644
--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -1269,7 +1269,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, 
struct sock *sk,
 
        can_skb_reserve(skb);
 
-       err = memcpy_from_msg(skb_put(skb, cfsiz), msg, cfsiz);
+       err = skb_memcpy_from_msg(skb, msg, cfsiz);
        if (err < 0) {
                kfree_skb(skb);
                return err;
@@ -1642,7 +1642,7 @@ static int bcm_recvmsg(struct socket *sock, struct msghdr 
*msg, size_t size,
        if (skb->len < size)
                size = skb->len;
 
-       err = memcpy_to_msg(msg, skb->data, size);
+       err = skb_memcpy_to_msg(msg, skb, size);
        if (err < 0) {
                skb_free_datagram(sk, skb);
                return err;
diff --git a/net/can/raw.c b/net/can/raw.c
index 864c80d..b52d1db 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -766,7 +766,7 @@ static int raw_sendmsg(struct socket *sock, struct msghdr 
*msg, size_t size)
        can_skb_prv(skb)->ifindex = dev->ifindex;
        can_skb_prv(skb)->skbcnt = 0;
 
-       err = memcpy_from_msg(skb_put(skb, size), msg, size);
+       err = skb_memcpy_from_msg(skb, msg, size);
        if (err < 0)
                goto free_skb;
 
@@ -813,7 +813,7 @@ static int raw_recvmsg(struct socket *sock, struct msghdr 
*msg, size_t size,
        else
                size = skb->len;
 
-       err = memcpy_to_msg(msg, skb->data, size);
+       err = skb_memcpy_to_msg(msg, skb, size);
        if (err < 0) {
                skb_free_datagram(sk, skb);
                return err;
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index b68168f..affe21a 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -785,7 +785,7 @@ int dccp_sendmsg(struct sock *sk, struct msghdr *msg, 
size_t len)
                goto out_release;
 
        skb_reserve(skb, sk->sk_prot->max_header);
-       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
+       rc = skb_memcpy_from_msg(skb, msg, len);
        if (rc != 0)
                goto out_discard;
 
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
index 73a0399..6fa54fd 100644
--- a/net/decnet/af_decnet.c
+++ b/net/decnet/af_decnet.c
@@ -1765,7 +1765,7 @@ static int dn_recvmsg(struct socket *sock, struct msghdr 
*msg, size_t size,
                if ((chunk + copied) > size)
                        chunk = size - copied;
 
-               if (memcpy_to_msg(msg, skb->data, chunk)) {
+               if (skb_memcpy_to_msg(msg, skb, chunk)) {
                        rv = -EFAULT;
                        break;
                }
@@ -2036,7 +2036,7 @@ static int dn_sendmsg(struct socket *sock, struct msghdr 
*msg, size_t size)
 
                skb_reserve(skb, 64 + DN_MAX_NSP_DATA_HEADER);
 
-               if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+               if (skb_memcpy_from_msg(skb, msg, len)) {
                        err = -EFAULT;
                        goto out;
                }
diff --git a/net/ieee802154/socket.c b/net/ieee802154/socket.c
index a60658c..c4072a4 100644
--- a/net/ieee802154/socket.c
+++ b/net/ieee802154/socket.c
@@ -296,7 +296,7 @@ static int raw_sendmsg(struct sock *sk, struct msghdr *msg, 
size_t size)
        skb_reset_mac_header(skb);
        skb_reset_network_header(skb);
 
-       err = memcpy_from_msg(skb_put(skb, size), msg, size);
+       err = skb_memcpy_from_msg(skb, msg, size);
        if (err < 0)
                goto out_skb;
 
@@ -684,7 +684,7 @@ static int dgram_sendmsg(struct sock *sk, struct msghdr 
*msg, size_t size)
        if (err < 0)
                goto out_skb;
 
-       err = memcpy_from_msg(skb_put(skb, size), msg, size);
+       err = skb_memcpy_from_msg(skb, msg, size);
        if (err < 0)
                goto out_skb;
 
diff --git a/net/ipx/ipx_route.c b/net/ipx/ipx_route.c
index b5d9144..72c8403 100644
--- a/net/ipx/ipx_route.c
+++ b/net/ipx/ipx_route.c
@@ -229,7 +229,7 @@ int ipxrtr_route_packet(struct sock *sk, struct 
sockaddr_ipx *usipx,
        memcpy(ipx->ipx_dest.node, usipx->sipx_node, IPX_NODE_LEN);
        ipx->ipx_dest.sock              = usipx->sipx_port;
 
-       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
+       rc = skb_memcpy_from_msg(skb, msg, len);
        if (rc) {
                kfree_skb(skb);
                goto out_put;
diff --git a/net/key/af_key.c b/net/key/af_key.c
index a00d607..af9b4b9 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -3637,7 +3637,7 @@ static int pfkey_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
                goto out;
 
        err = -EFAULT;
-       if (memcpy_from_msg(skb_put(skb,len), msg, len))
+       if (skb_memcpy_from_msg(skb, msg, len))
                goto out;
 
        hdr = pfkey_get_base_msg(skb, &err);
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
index 4d322c1..3640f92 100644
--- a/net/l2tp/l2tp_ip.c
+++ b/net/l2tp/l2tp_ip.c
@@ -458,7 +458,7 @@ static int l2tp_ip_sendmsg(struct sock *sk, struct msghdr 
*msg, size_t len)
        *((__be32 *) skb_put(skb, 4)) = 0;
 
        /* Copy user data into skb */
-       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
+       rc = skb_memcpy_from_msg(skb, msg, len);
        if (rc < 0) {
                kfree_skb(skb);
                goto error;
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
index bc6e8bf..c54ebaf 100644
--- a/net/l2tp/l2tp_ppp.c
+++ b/net/l2tp/l2tp_ppp.c
@@ -329,7 +329,7 @@ static int pppol2tp_sendmsg(struct socket *sock, struct 
msghdr *m,
        skb_put(skb, 2);
 
        /* Copy user data into skb */
-       error = memcpy_from_msg(skb_put(skb, total_len), m, total_len);
+       error = skb_memcpy_from_msg(skb, m, total_len);
        if (error < 0) {
                kfree_skb(skb);
                goto error_put_sess_tun;
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index c38d16f..aed88a1 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -928,7 +928,7 @@ static int llc_ui_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
        skb->dev      = llc->dev;
        skb->protocol = llc_proto_type(addr->sllc_arphrd);
        skb_reserve(skb, hdrlen);
-       rc = memcpy_from_msg(skb_put(skb, copied), msg, copied);
+       rc = skb_memcpy_from_msg(skb, msg, copied);
        if (rc)
                goto out;
        if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) {
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index f347506..5ce9ac2 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1844,7 +1844,7 @@ static int netlink_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
        NETLINK_CB(skb).flags   = netlink_skb_flags;
 
        err = -EFAULT;
-       if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+       if (skb_memcpy_from_msg(skb, msg, len)) {
                kfree_skb(skb);
                goto out;
        }
diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c
index e2188de..a7bf4d4 100644
--- a/net/nfc/rawsock.c
+++ b/net/nfc/rawsock.c
@@ -230,7 +230,7 @@ static int rawsock_sendmsg(struct socket *sock, struct 
msghdr *msg, size_t len)
        if (skb == NULL)
                return rc;
 
-       rc = memcpy_from_msg(skb_put(skb, len), msg, len);
+       rc = skb_memcpy_from_msg(skb, msg, len);
        if (rc < 0) {
                kfree_skb(skb);
                return rc;
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 3f5caa3..162460b 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1972,7 +1972,7 @@ static int packet_sendmsg_spkt(struct socket *sock, 
struct msghdr *msg,
                        if (len < hhlen)
                                skb_reset_network_header(skb);
                }
-               err = memcpy_from_msg(skb_put(skb, len), msg, len);
+               err = skb_memcpy_from_msg(skb, msg, len);
                if (err)
                        goto out_free;
                goto retry;
diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c
index b44fb90..1ea1105 100644
--- a/net/phonet/datagram.c
+++ b/net/phonet/datagram.c
@@ -108,7 +108,7 @@ static int pn_sendmsg(struct sock *sk, struct msghdr *msg, 
size_t len)
                return err;
        skb_reserve(skb, MAX_PHONET_HEADER);
 
-       err = memcpy_from_msg((void *)skb_put(skb, len), msg, len);
+       err = skb_memcpy_from_msg(skb, msg, len);
        if (err < 0) {
                kfree_skb(skb);
                return err;
diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index 9fc76b1..84870b6 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -1143,7 +1143,7 @@ static int pep_sendmsg(struct sock *sk, struct msghdr 
*msg, size_t len)
                return err;
 
        skb_reserve(skb, MAX_PHONET_HEADER + 3 + pn->aligned);
-       err = memcpy_from_msg(skb_put(skb, len), msg, len);
+       err = skb_memcpy_from_msg(skb, msg, len);
        if (err < 0)
                goto outfree;
 
-- 
2.7.4


Reply via email to