From: Christoph Hellwig <hch@infradead.org>
To: "Eugeny S. Mints" <emints@ru.mvista.com>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel <linux-kernel@vger.kernel.org>,
David Brownell <david-b@pacbell.net>
Subject: Re: race in usbnet.c in full RT
Date: Wed, 8 Jun 2005 11:16:58 +0100 [thread overview]
Message-ID: <20050608101658.GA3303@infradead.org> (raw)
In-Reply-To: <42A6C6B3.2000303@ru.mvista.com>
On Wed, Jun 08, 2005 at 02:21:39PM +0400, Eugeny S. Mints wrote:
> in non-RT case spin_lock_irqsave (&dev->txq.lock, flags) disables
> interrupts and thus code from usb_submit_urb() call upto
> __skb_queue_tail (&dev->txq, skb) executes atomically. But in RT case
> interrupts are not disabled and usb_submit_urb() triggers an interrupt
> which may cause tx_complete() execution before __skb_queue_tail () call.
> And since skb->list gets initialized just at __skb_queue_tail(), call to
> tx_complete() (via defer_bh() which thus executes before
> __skb_queue_tail) dereferences NULL (skb->list) pointer.
>
> Thus looks tx_complete() and usbnet_start_xmit() require a
> serialization. Please find proposed fix attached though not sure the
> patch will apply cleanly to the latest kernel.
Please fix whatever patch you use for "full RT mode" to not break valid
assupmtions in drivers.
next prev parent reply other threads:[~2005-06-08 10:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-08 10:21 Eugeny S. Mints
2005-06-08 10:16 ` Christoph Hellwig [this message]
2005-06-08 10:34 ` Ingo Molnar
2005-06-08 11:49 ` Eugeny S. Mints
2005-06-08 11:55 ` Steven Rostedt
2005-06-08 12:45 ` Eugeny S. Mints
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=20050608101658.GA3303@infradead.org \
--to=hch@infradead.org \
--cc=david-b@pacbell.net \
--cc=emints@ru.mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®