summaryrefslogtreecommitdiffstats
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-10-09 22:13:30 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-10-09 22:13:30 +0200
commit670aee3fc7ac37ae947f8b582d87b51d5fa36524 (patch)
tree9885998483d4506208e5aef9c13c8a86adea20bb /net/core/skbuff.c
parentMerge tag 'pull_req_4.3_rc4' of https://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentcpufreq: prevent lockup on reading scaling_available_frequencies (diff)
downloadlinux-670aee3fc7ac37ae947f8b582d87b51d5fa36524.tar.xz
linux-670aee3fc7ac37ae947f8b582d87b51d5fa36524.zip
Merge branches 'pm-devfreq' and 'pm-cpufreq'
* pm-devfreq: PM / devfreq: fix double kfree PM / devfreq: Fix governor_store() * pm-cpufreq: cpufreq: prevent lockup on reading scaling_available_frequencies cpufreq: acpi_cpufreq: prevent crash on reading freqdomain_cpus
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c9
1 files changed, 5 insertions, 4 deletions
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);