From: "Vegard Nossum" <vegard.nossum@gmail.com>
To: "Dave Young" <hidave.darkstar@gmail.com>
Cc: "Soeren Sonnenburg" <kernel@nn7.de>,
"Marcel Holtmann" <marcel@holtmann.org>,
"David Woodhouse" <dwmw2@infradead.org>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [RFC][-rc9 PATCH] Bluetooth: fix oops in rfcomm
Date: Mon, 14 Jul 2008 08:23:40 +0200 [thread overview]
Message-ID: <19f34abd0807132323r3c919aq88ecaf572da765cb@mail.gmail.com> (raw)
In-Reply-To: <a8e1da0807131941n4697cb14g1cfbb0bb3ad74f50@mail.gmail.com>
On Mon, Jul 14, 2008 at 4:41 AM, Dave Young <hidave.darkstar@gmail.com> wrote:
>> This patch attempts to correct this by only removing the device from the
>> internal rfcomm list of devices at the final unregister, so that the id
>> won't get reused until the device has been completely destructed.
>
> It looks good, I agree with your change.
Thanks for looking!
> if (IS_ERR(dev->tty_dev)) {
> err = PTR_ERR(dev->tty_dev);
> list_del(&dev->list);
> kfree(dev);
> return err;
> }
>
> The list_del need to be protected as well.
After looking at the code once again I wonder if we should not extend
the protection even a bit further. Just below, we have this:
if (device_create_file(dev->tty_dev, &dev_attr_address) < 0)
..which means that we could theoretically get here, be preempted by
another process which 1. releases the device id, and 2. recreates the
same device id. When we resume execution of the first task,
device_create_file() would be called for a file that already exists.
Should the rfcomm_dev_lock be extended to include protecting these
things as well? It seems somehow wrong, but I am not sure how it
should be done correctly either.
Vegard
--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
next prev parent reply other threads:[~2008-07-14 6:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-13 17:23 [RFC][-rc9 PATCH] Bluetooth: fix oops in rfcomm Vegard Nossum
2008-07-14 2:41 ` Dave Young
2008-07-14 6:23 ` Vegard Nossum [this message]
2008-07-14 7:06 ` Dave Young
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=19f34abd0807132323r3c919aq88ecaf572da765cb@mail.gmail.com \
--to=vegard.nossum@gmail.com \
--cc=dwmw2@infradead.org \
--cc=hidave.darkstar@gmail.com \
--cc=kernel@nn7.de \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=netdev@vger.kernel.org \
/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