diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-03-27 17:55:52 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:28:23 -0400 |
commit | d626f62b11e00c16e81e4308ab93d3f13551812a (patch) | |
tree | fac4af6ced853755e12fc709d55f0c2bec51265d /net/x25 | |
parent | 2a123b86e2b242a4a6db990d2851d45e192f88e5 (diff) |
[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}
To clearly state the intent of copying from linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'net/x25')
-rw-r--r-- | net/x25/af_x25.c | 2 | ||||
-rw-r--r-- | net/x25/x25_in.c | 5 | ||||
-rw-r--r-- | net/x25/x25_out.c | 4 |
3 files changed, 6 insertions, 5 deletions
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index adcda8ebee9..0d6002fc77b 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -951,7 +951,7 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb, | |||
951 | * Incoming Call User Data. | 951 | * Incoming Call User Data. |
952 | */ | 952 | */ |
953 | if (skb->len >= 0) { | 953 | if (skb->len >= 0) { |
954 | memcpy(makex25->calluserdata.cuddata, skb->data, skb->len); | 954 | skb_copy_from_linear_data(skb, makex25->calluserdata.cuddata, skb->len); |
955 | makex25->calluserdata.cudlength = skb->len; | 955 | makex25->calluserdata.cudlength = skb->len; |
956 | } | 956 | } |
957 | 957 | ||
diff --git a/net/x25/x25_in.c b/net/x25/x25_in.c index b2bbe552a89..ba13248aa1c 100644 --- a/net/x25/x25_in.c +++ b/net/x25/x25_in.c | |||
@@ -112,8 +112,9 @@ static int x25_state1_machine(struct sock *sk, struct sk_buff *skb, int frametyp | |||
112 | * Copy any Call User Data. | 112 | * Copy any Call User Data. |
113 | */ | 113 | */ |
114 | if (skb->len >= 0) { | 114 | if (skb->len >= 0) { |
115 | memcpy(x25->calluserdata.cuddata, skb->data, | 115 | skb_copy_from_linear_data(skb, |
116 | skb->len); | 116 | x25->calluserdata.cuddata, |
117 | skb->len); | ||
117 | x25->calluserdata.cudlength = skb->len; | 118 | x25->calluserdata.cudlength = skb->len; |
118 | } | 119 | } |
119 | if (!sock_flag(sk, SOCK_DEAD)) | 120 | if (!sock_flag(sk, SOCK_DEAD)) |
diff --git a/net/x25/x25_out.c b/net/x25/x25_out.c index 6f573785391..bb45e21ffce 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,7 +84,7 @@ 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 */ |