[NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum
We're now starting to have quite a number of places that do skb_pull followed immediately by an skb_postpull_rcsum. We can merge these two operations into one function with skb_pull_rcsum. This makes sense since most pull operations on receive skb's need to update the checksum. I've decided to make this out-of-line since it is fairly big and the fast path where hardware checksums are enabled need to call csum_partial anyway. Since this is a brand new function we get to add an extra check on the len argument. As it is most callers of skb_pull ignore its return value which essentially means that there is no check on the len argument. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
ecba320f2e
commit
cbb042f9e1
@@ -61,8 +61,7 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||
/* Pass the frame on. */
|
||||
u8 *hdr = skb->data;
|
||||
skb->h.raw += 5;
|
||||
skb_pull(skb, 5);
|
||||
skb_postpull_rcsum(skb, hdr, 5);
|
||||
skb_pull_rcsum(skb, 5);
|
||||
rc = proto->rcvfunc(skb, dev, &snap_packet_type, orig_dev);
|
||||
} else {
|
||||
skb->sk = NULL;
|
||||
|
Reference in New Issue
Block a user