Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755105AbYGUV0O (ORCPT ); Mon, 21 Jul 2008 17:26:14 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751027AbYGUVZ5 (ORCPT ); Mon, 21 Jul 2008 17:25:57 -0400 Received: from relay.2ka.mipt.ru ([194.85.80.65]:36414 "EHLO 2ka.mipt.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750836AbYGUVZ4 (ORCPT ); Mon, 21 Jul 2008 17:25:56 -0400 Date: Tue, 22 Jul 2008 01:24:48 +0400 From: Evgeniy Polyakov To: Ingo Molnar Cc: Pekka Enberg , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Vegard Nossum , "Rafael J. Wysocki" , cl@linux-foundation.org, davem@davemloft.net, Auke Kok Subject: Re: [bug, netconsole, SLUB] BUG skbuff_head_cache: Poison overwritten Message-ID: <20080721212447.GA10107@2ka.mipt.ru> References: <20080717214222.GA29449@elte.hu> <20080718091146.GQ6875@elte.hu> <20080721094110.GA16029@elte.hu> <84144f020807210252k68d5cf65i8c7ae3c11cecc046@mail.gmail.com> <20080721100627.GA5953@2ka.mipt.ru> <20080721105051.GA5830@elte.hu> <20080721112515.GA4777@2ka.mipt.ru> <20080721115555.GA24176@elte.hu> <20080721192138.GA27672@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080721192138.GA27672@elte.hu> User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1123 Lines: 33 On Mon, Jul 21, 2008 at 09:21:38PM +0200, Ingo Molnar (mingo@elte.hu) wrote: > So it's now a strong likelyhood that this crash is a combination of > e1000e+netconsole. e1000_clean_tx_irq() call looks particulary suspicious: it is called without adapter->tx_queue_lock in poll controller (netconsole callback) and with that lock in NAPI handler. Can you check kind of this patch: diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index 869544b..5f180d8 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@ -4067,7 +4067,9 @@ static void e1000_netpoll(struct net_device *netdev) disable_irq(adapter->pdev->irq); e1000_intr(adapter->pdev->irq, netdev); + spin_lock(&adapter->tx_queue_lock); e1000_clean_tx_irq(adapter); + spin_unlock(&adapter->tx_queue_lock); enable_irq(adapter->pdev->irq); } -- Evgeniy Polyakov -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/