[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.1004210915220.11040@hs20-bc2-1.build.redhat.com>
Date: Wed, 21 Apr 2010 09:21:47 -0400 (EDT)
From: Mikulas Patocka <mpatocka@...hat.com>
To: David Miller <davem@...emloft.net>
cc: netdev@...r.kernel.org, kaber@...sh.net
Subject: Re: crash with bridge and inconsistent handling of NETDEV_TX_OK
On Tue, 20 Apr 2010, David Miller wrote:
>
> I looked more at your crash report.
>
> You shouldn't even be in this code path for other reasons, namely
> skb->next should be NULL. But it's not in your case. skb->next would
> only be non-NULL for GSO frames, which we've established we should not
> be seeing here.
>
> Given that skb->next is non-NULL and the fraglists of this SKB are
> corrupted (next pointer is 0x18), I think we're getting memory
> corruption from somewhere else. This also jives with the fact that
> this is not readily reproducable.
The crash happened just a few days after I started to use the machine for
bridging. There were no unexplained crashes before. So I suspect that the
cause is bridging or tg3.
> The whole ->ndo_start_xmit() return value stuff is unrelated to this
> issue, we shouldn't even be in this code path. In fact, if reverting
> that TX flags handling commit makes your crashes go away it would be a
> huge surprise.
I thought that if some weird ->ndo_start_xmit() return values appeared,
this would lead to misunderstanding who owns the skb, using of already
deallocated skb and mentioned memory corruption. But I can't prove it.
Mikulas
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists