[ofa-general] NetEffect, iw_nes and kernel warning

Herbert Xu herbert at gondor.apana.org.au
Tue Apr 21 05:49:19 PDT 2009


On Tue, Apr 21, 2009 at 11:09:18AM +0200, Lennert Buytenhek wrote:
> On Fri, Jan 30, 2009 at 07:54:12PM -0800, Roland Dreier wrote:
> 
> > > > I don't believe this is accurate.  Calling skb_linearize() (on a kernel
> > > > with CONFIG_HIGHMEM set) can end up calling local_bh_enable() in
> > > > kunmap_skb_frag(), which can obviously cause problems if the initial
> > > > context relies on having BHs disabled (as hard_start_xmit does).
> > >
> > > local_bh_{enable,disable}() nests, so this is not a problem
> > 
> > Duh.  OK, then the only bugs seem to be that iw_nes does skb_linearize
> > with irqs off (due to being an LLTX driver), and mv643xx_eth leaks an
> > skb on its error path if skb_linearize fails.
> 
> (Found this when deleting old netdev@ mail...)  mv643xx_eth returns
> NETDEV_TX_BUSY if skb_linearize fails, so the qdisc will requeue the
> skb, and we shouldn't free it.  Am I missing something?

I don't think the issue here is the leak.  Calling skb_linearize is
simply illegal if you support netpoll because netpoll will call the
xmit routine with IRQs off.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



More information about the general mailing list