[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>
This commit is contained in:
committed by
David S. Miller
parent
2a123b86e2
commit
d626f62b11
@@ -951,7 +951,7 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb,
|
||||
* Incoming Call User Data.
|
||||
*/
|
||||
if (skb->len >= 0) {
|
||||
memcpy(makex25->calluserdata.cuddata, skb->data, skb->len);
|
||||
skb_copy_from_linear_data(skb, makex25->calluserdata.cuddata, skb->len);
|
||||
makex25->calluserdata.cudlength = skb->len;
|
||||
}
|
||||
|
||||
|
@@ -112,8 +112,9 @@ static int x25_state1_machine(struct sock *sk, struct sk_buff *skb, int frametyp
|
||||
* Copy any Call User Data.
|
||||
*/
|
||||
if (skb->len >= 0) {
|
||||
memcpy(x25->calluserdata.cuddata, skb->data,
|
||||
skb->len);
|
||||
skb_copy_from_linear_data(skb,
|
||||
x25->calluserdata.cuddata,
|
||||
skb->len);
|
||||
x25->calluserdata.cudlength = skb->len;
|
||||
}
|
||||
if (!sock_flag(sk, SOCK_DEAD))
|
||||
|
@@ -61,7 +61,7 @@ int x25_output(struct sock *sk, struct sk_buff *skb)
|
||||
|
||||
if (skb->len - header_len > max_len) {
|
||||
/* Save a copy of the Header */
|
||||
memcpy(header, skb->data, header_len);
|
||||
skb_copy_from_linear_data(skb, header, header_len);
|
||||
skb_pull(skb, header_len);
|
||||
|
||||
frontlen = skb_headroom(skb);
|
||||
@@ -84,7 +84,7 @@ int x25_output(struct sock *sk, struct sk_buff *skb)
|
||||
len = max_len > skb->len ? skb->len : max_len;
|
||||
|
||||
/* 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 Header */
|
||||
|
Reference in New Issue
Block a user