[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100420.164505.34362726.davem@davemloft.net>
Date: Tue, 20 Apr 2010 16:45:05 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mpatocka@...hat.com
Cc: lists.linux-foundation.org@...hat.com, netdev@...r.kernel.org,
kaber@...sh.net
Subject: Re: crash with bridge and inconsistent handling of NETDEV_TX_OK
From: Mikulas Patocka <mpatocka@...hat.com>
Date: Tue, 20 Apr 2010 19:40:56 -0400 (EDT)
> Reviewing the code further, I found one very weird commit
> 572a9d7b6fc7f20f573664063324c086be310c42 committed to 2.6.33. What
> it does, it changes the semantics of ndo_hard_start_xmit(). Prior to
> the patch, the meaning was --- return zero (NETDEV_TX_OK) --- the
> skb is consumed by the driver. Returns non-zero --- the skb is left
> owned by the caller. The patch changes it to return other flags in
> bits 4-7 and changes the consumed/returned logic.
>
> The problem is that there is still plenty of code that compares it
> against NETDEV_TX_OK to find out if the skb was consumed.
Drivers are not supposed to return those new flag bits, the new flag
bits as return values exist only in the packet scheduler path.
We're not reverting the commit you mention, we're going to fix
whatever bug exists instead.
--
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