diff options
Diffstat (limited to 'net/x25/x25_out.c')
-rw-r--r-- | net/x25/x25_out.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/x25/x25_out.c b/net/x25/x25_out.c index 6f5737853912..2b96b52114d6 100644 --- a/net/x25/x25_out.c +++ b/net/x25/x25_out.c | |||
@@ -61,7 +61,7 @@ int x25_output(struct sock *sk, struct sk_buff *skb) | |||
61 | 61 | ||
62 | if (skb->len - header_len > max_len) { | 62 | if (skb->len - header_len > max_len) { |
63 | /* Save a copy of the Header */ | 63 | /* Save a copy of the Header */ |
64 | memcpy(header, skb->data, header_len); | 64 | skb_copy_from_linear_data(skb, header, header_len); |
65 | skb_pull(skb, header_len); | 65 | skb_pull(skb, header_len); |
66 | 66 | ||
67 | frontlen = skb_headroom(skb); | 67 | frontlen = skb_headroom(skb); |
@@ -84,12 +84,12 @@ int x25_output(struct sock *sk, struct sk_buff *skb) | |||
84 | len = max_len > skb->len ? skb->len : max_len; | 84 | len = max_len > skb->len ? skb->len : max_len; |
85 | 85 | ||
86 | /* Copy the user data */ | 86 | /* Copy the user data */ |
87 | memcpy(skb_put(skbn, len), skb->data, len); | 87 | skb_copy_from_linear_data(skb, skb_put(skbn, len), len); |
88 | skb_pull(skb, len); | 88 | skb_pull(skb, len); |
89 | 89 | ||
90 | /* Duplicate the Header */ | 90 | /* Duplicate the Header */ |
91 | skb_push(skbn, header_len); | 91 | skb_push(skbn, header_len); |
92 | memcpy(skbn->data, header, header_len); | 92 | skb_copy_to_linear_data(skbn, header, header_len); |
93 | 93 | ||
94 | if (skb->len > 0) { | 94 | if (skb->len > 0) { |
95 | if (x25->neighbour->extended) | 95 | if (x25->neighbour->extended) |