Thread (16 messages) 16 messages, 7 authors, 2009-04-21

Re: [ofa-general] NetEffect, iw_nes and kernel warning

From: David Miller <davem@davemloft.net>
Date: 2009-01-30 21:51:09

From: Roland Dreier <redacted>
Date: Fri, 30 Jan 2009 09:35:52 -0800
 > > OK, thanks... what confused me is that several other drivers also do
 > > skb_linearize() in their hard_start_xmit method... eg bnx2x,
 > > via-velocity, mv643xx_eth.  So there are several other lurking bugs to
 > > deal with here I guess.
 > 
 > I don't know about the rest but bnx2x is certainly OK since it
 > only does so with IRQ enabled.  It is legal to call skb_linearize
 > as long as you're sure that IRQs are enabled, which is always the
 > case for hard_start_xmit upon entry.

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help