X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=net%2Fnetrom%2Fnr_out.c;h=e3e6c44e1890cee8246a6d94dfae7181a2e75c19;hb=48c72d1ab4ec86789a23aed0b0b5f31ac083c0c6;hp=0cbfb611465b3a6f9580b2bc22b6680901267faf;hpb=414f827c46973ba39320cfb43feb55a0eeb9b4e8;p=mv-sheeva.git diff --git a/net/netrom/nr_out.c b/net/netrom/nr_out.c index 0cbfb611465..e3e6c44e189 100644 --- a/net/netrom/nr_out.c +++ b/net/netrom/nr_out.c @@ -40,7 +40,7 @@ void nr_output(struct sock *sk, struct sk_buff *skb) if (skb->len - NR_TRANSPORT_LEN > NR_MAX_PACKET_SIZE) { /* Save a copy of the Transport Header */ - memcpy(transport, skb->data, NR_TRANSPORT_LEN); + skb_copy_from_linear_data(skb, transport, NR_TRANSPORT_LEN); skb_pull(skb, NR_TRANSPORT_LEN); frontlen = skb_headroom(skb); @@ -54,13 +54,13 @@ void nr_output(struct sock *sk, struct sk_buff *skb) len = (NR_MAX_PACKET_SIZE > skb->len) ? skb->len : NR_MAX_PACKET_SIZE; /* Copy the user data */ - memcpy(skb_put(skbn, len), skb->data, len); + skb_copy_from_linear_data(skb, skb_put(skbn, len), len); skb_pull(skb, len); /* Duplicate the Transport Header */ skb_push(skbn, NR_TRANSPORT_LEN); - memcpy(skbn->data, transport, NR_TRANSPORT_LEN); - + skb_copy_to_linear_data(skbn, transport, + NR_TRANSPORT_LEN); if (skb->len > 0) skbn->data[4] |= NR_MORE_FLAG;