X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=net%2Fcore%2Fskbuff.c;h=fab4599ba8b261dc43977af8349a336edc4d2799;hb=9e07f98ab76fdeab5629f2f6c977f870a414f1f9;hp=dad4dd37e2aaad17b9493cb67796ed9650515a84;hpb=a6f83f00ad4b4e8a6c1cd14db495f40cf5ea7586;p=karo-tx-linux.git diff --git a/net/core/skbuff.c b/net/core/skbuff.c index dad4dd37e2aa..fab4599ba8b2 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2958,11 +2958,12 @@ EXPORT_SYMBOL_GPL(skb_append_pagefrags); */ unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len) { + unsigned char *data = skb->data; + BUG_ON(len > skb->len); - skb->len -= len; - BUG_ON(skb->len < skb->data_len); - skb_postpull_rcsum(skb, skb->data, len); - return skb->data += len; + __skb_pull(skb, len); + skb_postpull_rcsum(skb, data, len); + return skb->data; } EXPORT_SYMBOL_GPL(skb_pull_rcsum);