Messages in this thread Patch in this message | | | Subject | Re: regression with today's linux-next | From | Eric Dumazet <> | Date | Wed, 13 May 2015 14:04:53 -0700 |
| |
On Wed, 2015-05-13 at 13:27 -0500, Felipe Balbi wrote: > Hi Alexander, > > your commit 9451980a6646 (net: Use cached copy of pfmemalloc to avoid > accessing page) regresses most OMAP-based boards with a NULL pointer > dereference. > > Below you can find git bisect log and a serial console capture of the > problem.
Are you using jumbo frames ?
Please try :
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index d67e612bf0ef..701318378142 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -414,9 +414,14 @@ struct sk_buff *__netdev_alloc_skb(struct net_device *dev, unsigned int len, len += NET_SKB_PAD; if ((len > SKB_WITH_OVERHEAD(PAGE_SIZE)) || - (gfp_mask & (__GFP_WAIT | GFP_DMA))) - return __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); - + (gfp_mask & (__GFP_WAIT | GFP_DMA))) { + skb = __alloc_skb(len, gfp_mask, SKB_ALLOC_RX, NUMA_NO_NODE); + if (skb) { + skb_reserve(skb, NET_SKB_PAD); + skb->dev = dev; + } + return skb; + } len += SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); len = SKB_DATA_ALIGN(len);
| |