From: Roland Dreier <[email protected]>
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

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to