summaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-11-26 20:37:57 +0000
committerMark Brown <broonie@kernel.org>2014-11-26 20:37:57 +0000
commitcf2394f70cf7774a107fbaa1ef5010db4bd69baa (patch)
treee79e3e479d04213a67ecd47b31c7db648b0313c2 /net/core/dev.c
parent45fc84c668ba6cc08cbae74042be838bf9283d98 (diff)
parent206c5f60a3d902bc4b56dab2de3e88de5eb06108 (diff)
downloadlinux-cf2394f70cf7774a107fbaa1ef5010db4bd69baa.tar.bz2
Merge tag 'v3.18-rc4' into regulator-max77802
Linux 3.18-rc4
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index b793e3521a36..945bbd001359 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4157,6 +4157,10 @@ EXPORT_SYMBOL(napi_gro_receive);
static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)
{
+ if (unlikely(skb->pfmemalloc)) {
+ consume_skb(skb);
+ return;
+ }
__skb_pull(skb, skb_headlen(skb));
/* restore the reserve we had after netdev_alloc_skb_ip_align() */
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN - skb_headroom(skb));