From patchwork Wed May 13 21:04:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 6400181 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 92EDCBEEE1 for ; Wed, 13 May 2015 21:05:05 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C002B2026F for ; Wed, 13 May 2015 21:05:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CF79E20272 for ; Wed, 13 May 2015 21:05:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965572AbbEMVE6 (ORCPT ); Wed, 13 May 2015 17:04:58 -0400 Received: from mail-ie0-f181.google.com ([209.85.223.181]:33434 "EHLO mail-ie0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965383AbbEMVEz (ORCPT ); Wed, 13 May 2015 17:04:55 -0400 Received: by iebgx4 with SMTP id gx4so43764262ieb.0; Wed, 13 May 2015 14:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:mime-version:content-transfer-encoding; bh=7v+E4zpQ9mGYTqVY9zdQM1ZH9pUAf0GaIhq9olyfZ+k=; b=DXyjLLnC+c/sIVeW56TwBNRRe57OPpSIp2nJI/cbM7+laFJUN7GzVb+7oSUSjZnQQE w6aDDDgwnHJ7sd9RdoLb0hizIUYMH/Yh2V4c9eSwuDAY+H9Igv1eS9ufHeiClOgtbxI5 7UKQjbVmQY1KoZ4eeRSOyEeut3uynJCcXsXV81F1FbxfBsF2JLdbgWn6E+rMmAYAJ26k NP7UZDt4p2j4v58iScGvRSOmTbz3bf0IP8wLr55/6z5K12jMDNP7wsMIUSckRodDD70Q CcLOB1TGDCOzshw3gQBbrY+3M03Dh5eBosSYIlM0ZCG3b+m0BZmN4UKgniJkX4isVlTN Ot4A== X-Received: by 10.50.33.51 with SMTP id o19mr13363962igi.45.1431551094908; Wed, 13 May 2015 14:04:54 -0700 (PDT) Received: from [172.29.163.58] ([172.29.163.58]) by mx.google.com with ESMTPSA id p8sm4415947iga.13.2015.05.13.14.04.53 (version=TLSv1.2 cipher=AES128-GCM-SHA256 bits=128/128); Wed, 13 May 2015 14:04:54 -0700 (PDT) Message-ID: <1431551093.27831.5.camel@edumazet-glaptop2.roam.corp.google.com> Subject: Re: regression with today's linux-next From: Eric Dumazet To: balbi@ti.com Cc: Alexander Duyck , Linux OMAP Mailing List , Linux ARM Kernel Mailing List , Linux Kernel Mailing List , Tony Lindgren Date: Wed, 13 May 2015 14:04:53 -0700 In-Reply-To: <20150513182738.GA28201@saruman.tx.rr.com> References: <20150513182738.GA28201@saruman.tx.rr.com> X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 : --- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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);