All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roland Dreier <rdreier@cisco.com>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
	general@lists.openfabrics.org
Subject: Re: [ofa-general] NetEffect, iw_nes and kernel warning
Date: Wed, 28 Jan 2009 13:52:15 -0800	[thread overview]
Message-ID: <adawscfumi8.fsf@cisco.com> (raw)
In-Reply-To: <20090128110514.2191c7a8@extreme> (Stephen Hemminger's message of "Wed, 28 Jan 2009 11:05:14 -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.

 > They all look like lurking (and untested) bug paths. mv643xx is especially
 > bad since it can leak skb. But it should be possible to call pull_tail
 > if bh is disabled (as long as irqs are enabled).

Yes.  The only obvious problem with __pskb_pull_tail() with BHs disabled
is that with CONFIG_HIGHMEM set, it goes into kmap_skb_frag(), which
then unconditionally does local_bh_disable()/local_bh_enable().  There's
no reason in principle that kmap_skb_frag() couldn't do
local_save_flags()/local_restore_flags() instead.

Just grepping around I see other potential issues related to this, for
example the (unused but exported) function fcoe_fc_crc() does
kmap_atomic(KM_SKB_DATA_SOFTIRQ) without any particular BH disabling,
which might run into trouble if used in the wrong context...

 - R.

  reply	other threads:[~2009-01-28 21:52 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <497EF9AC.70104@poczta.onet.pl>
2009-01-27 23:53 ` [ofa-general] NetEffect, iw_nes and kernel warning Roland Dreier
2009-01-28  0:07   ` David Miller
2009-01-28  0:17     ` Stephen Hemminger
2009-01-28 16:36       ` Tung, Chien Tin
2009-01-28 18:05     ` Roland Dreier
2009-01-28 19:05       ` Stephen Hemminger
2009-01-28 21:52         ` Roland Dreier [this message]
2009-01-30  6:57       ` Herbert Xu
2009-01-30  8:22         ` Eilon Greenstein
2009-01-30 16:25         ` Stephen Hemminger
2009-01-30 17:35         ` Roland Dreier
2009-01-30 21:51           ` David Miller
2009-01-31  3:54             ` Roland Dreier
2009-04-21  9:09               ` Lennert Buytenhek
2009-04-21 12:49                 ` Herbert Xu
2009-04-21 12:50                   ` Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=adawscfumi8.fsf@cisco.com \
    --to=rdreier@cisco.com \
    --cc=davem@davemloft.net \
    --cc=general@lists.openfabrics.org \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.