From: Chris Lalancette <clalance@redhat.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Francois Romieu <romieu@fr.zoreil.com>,
netdev@vger.kernel.org, Herbert Xu <herbert@gondor.apana.org.au>,
Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.20-rc3]: 8139cp: Don't blindly enable interrupts
Date: Thu, 18 Jan 2007 13:48:53 -0500 [thread overview]
Message-ID: <45AFC115.4090503@redhat.com> (raw)
In-Reply-To: <45AFA4D5.7060405@pobox.com>
Jeff Garzik wrote:
> Chris Lalancette wrote:
>
>> Francois Romieu wrote:
>>
>>> Chris Lalancette <clalance@redhat.com> :
>>> [...]
>>>
>>>
>>>> Thanks for the comments. While the patch you sent will help,
>>>> there are
>>>> still other places that will have problems. For example, in
>>>> netpoll_send_skb,
>>>> we call local_irq_save(flags), then call dev->hard_start_xmit(),
>>>> and then call
>>>> local_irq_restore(flags). This is a similar situation to what I
>>>> described
>>>> above; we will re-enable interrupts in cp_start_xmit(), when
>>>> netpoll_send_skb
>>>> doesn't expect that, and will probably run into issues.
>>>> Is there a problem with changing cp_start_xmit to use the
>>>> spin_lock_irqsave(), besides the extra instructions it needs?
>>>>
>>>
>>> No. Given the history of locking in netpoll and the content of
>>> Documentation/networking/netdevices.txt, asking Herbert which rule(s)
>>> the code is supposed to follow seemed safer to me.
>>>
>>> You can forget my patch.
>>>
>>> Please resend your patch inlined to Jeff as described in
>>> http://linux.yyz.us/patch-format.html.
>>>
>>>
>>>
>> Francois,
>> Great. Resending mail, shortening subject to < 65 characters and
>> inlining the patch.
>>
>> Thanks,
>> Chris Lalancette
>>
>> Similar to this commit:
>>
>> http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d15e9c4d9a75702b30e00cdf95c71c88e3f3f51e
>>
>>
>> It's not safe in cp_start_xmit to blindly call spin_lock_irq and then
>> spin_unlock_irq, since it may very well be the case that cp_start_xmit
>> was called with interrupts already disabled (I came across this bug in
>> the context of netdump in RedHat kernels, but the same issue holds, for
>> example, in netconsole). Therefore, replace all instances of
>> spin_lock_irq and spin_unlock_irq with spin_lock_irqsave and
>> spin_unlock_irqrestore, respectively, in cp_start_xmit(). I tested this
>> against a fully-virtualized Xen guest using netdump, which happens to
>> use the 8139cp driver to talk to the emulated hardware. I don't have a
>> real piece of 8139cp hardware to test on, so someone else will have to
>> do that.
>>
>> Signed-off-by: Chris Lalancette <clalance@redhat.com>
>
>
> applied.
>
> In the future, please remove the quoted emails stuff, and anything
> else that does not belong in the kernel changelog. It must be
> hand-edited out, before using git-am to merge your patch into the
> kernel tree.
>
> Jeff
>
>
>
Jeff,
Ah, I see. Noted. Thanks.
Chris Lalancette
prev parent reply other threads:[~2007-01-18 18:50 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-15 16:40 [PATCH]: 8139cp: Don't blindly enable interrupts in cp_start_xmit Chris Lalancette
2007-01-15 19:56 ` Francois Romieu
2007-01-15 23:34 ` Herbert Xu
2007-01-16 14:44 ` Chris Lalancette
2007-01-16 20:22 ` Francois Romieu
2007-01-16 21:41 ` [PATCH 2.6.20-rc3]: 8139cp: Don't blindly enable interrupts Chris Lalancette
2007-01-18 16:48 ` Jeff Garzik
2007-01-18 18:48 ` Chris Lalancette [this message]
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=45AFC115.4090503@redhat.com \
--to=clalance@redhat.com \
--cc=herbert@gondor.apana.org.au \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.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.