From: ebiederm@xmission.com (Eric W. Biederman)
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
"Maciej W. Rozycki" <macro@linux-mips.org>,
Greg Kroah-Hartman <gregkh@suse.de>,
Kay Sievers <kay.sievers@vrfy.org>,
Johannes Berg <johannes@sipsolutions.net>,
Greg KH <greg@kroah.com>, netdev <netdev@vger.kernel.org>
Subject: Re: [Bugme-new] [Bug 16257] New: sysfs changes break hwsim and bnep drivers
Date: Mon, 21 Jun 2010 15:22:32 -0700 [thread overview]
Message-ID: <m1mxuodo0n.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <20100621150826.762ac9f2.akpm@linux-foundation.org> (Andrew Morton's message of "Mon\, 21 Jun 2010 15\:08\:26 -0700")
Andrew Morton <akpm@linux-foundation.org> writes:
> On Sun, 20 Jun 2010 11:23:02 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=16257
>
> Said to be a post-2.6.34 regression caused by the net namespaces changes.
>
> There's a massive thread there and I didn't work out whether it's
> already been fixed?
The fix is pending.
The cause is understood. Roughly we started caring about something
being true in all cases and there are bugs where it is not.
The patch below is less pretty than I would like, but it is trivial
and it fixes the problem in all cases, and in exactly the cases that
are broken today.
I have received no feedback since I posted it. Right now there are no
viable alternatives on the table for the 2.6.35 timeframe. The only
suggested alternatives is to rewrite the affected drivers sysfs
support and fix the driver core so that rewrite is actually possible.
>From ada3a8448d376000e8cf586f0e4062e2f578c80f Mon Sep 17 00:00:00 2001
From: Eric W. Biederman <ebiederm@xmission.com>
Date: Sat, 19 Jun 2010 22:58:39 -0700
Subject: [PATCH] Driver-core: Always create network class directories in get_device_parent.
In get_device_parent there was added check to not add a class
directory when a class device was put under another class device.
The check was put in place as a just in case measure to not break
old userspace if any existing code happened to depend on it.
Devices in the input subsystem are affected by this code path so
there is a reasonable chance that some piece of user space will
break if we just remove this cludge.
At the same time there are at least two network drivers that
have potential unnecessary namespace conflicts because class
directories have not been created for their network devices.
With the introduction of tagged sysfs directories for properly
handling network namespace support this omission in creating
the class directories went from a bad thing in terms of namespace
pollution, to actually breaking device_remove.
Currently there are two reported network device drivers that
break because the class directory was not created by the device
layer. The usb bnep driver and the mac80211_hwsim driver.
Every solution proposed changes the sysfs layout for the affected
devices, and thus has the potential to break userspace.
Since we are changing the sysfs layout anyway, and since we are now
talking about several devices all with the same problem, all caused
by the same over convservative bit of code. Let's fix the device
layer for network devices.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
drivers/base/core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 9630fbd..ffb8443 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -673,7 +673,7 @@ static struct kobject *get_device_parent(struct device *dev,
*/
if (parent == NULL)
parent_kobj = virtual_device_parent(dev);
- else if (parent->class)
+ else if (parent->class && (strcmp(dev->class->name, "net") != 0))
return &parent->kobj;
else
parent_kobj = &parent->kobj;
--
1.6.5.2.143.g8cc62
next parent reply other threads:[~2010-06-21 22:22 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-16257-10286@https.bugzilla.kernel.org/>
[not found] ` <20100621150826.762ac9f2.akpm@linux-foundation.org>
2010-06-21 22:22 ` Eric W. Biederman [this message]
2010-06-21 22:29 ` [Bugme-new] [Bug 16257] New: sysfs changes break hwsim and bnep drivers Greg KH
2010-06-21 22:55 ` Eric W. Biederman
2010-06-21 23:10 ` Greg KH
2010-06-22 0:05 ` Eric W. Biederman
2010-06-22 3:56 ` Greg KH
2010-07-08 16:31 ` [PATCH] sysfs: Don't allow the creation of symlinks we can't remove Eric W. Biederman
2010-07-08 16:37 ` [RFC][PATCH] mac80211_hwsim: No parent is better than an illegimate one Eric W. Biederman
2010-07-12 6:46 ` Johannes Berg
2010-07-12 14:23 ` Eric W. Biederman
2010-07-12 14:29 ` Johannes Berg
2010-07-08 21:19 ` [PATCH] sysfs: Don't allow the creation of symlinks we can't remove Greg KH
2010-07-08 22:28 ` Eric W. Biederman
2010-07-08 23:06 ` Greg KH
2010-07-19 20:34 ` Andrew Morton
2010-07-20 20:13 ` Greg KH
2010-07-21 5:08 ` [PATCH 0/2] Support untagged symlinks to tagged directories Eric W. Biederman
2010-07-21 5:10 ` [PATCH 1/2] sysfs: sysfs_delete_link handle symlinks from untagged " Eric W. Biederman
2010-07-21 5:12 ` [PATCH 2/2] sysfs: allow creating " Eric W. Biederman
2010-07-21 19:02 ` [PATCH 0/2] Support untagged symlinks " Greg KH
2010-07-21 20:20 ` Eric W. Biederman
2010-07-21 20:36 ` Greg KH
2010-07-22 9:16 ` [PATCH] Driver-core: Fix bluetooth network device rename regression Eric W. Biederman
2010-07-22 13:38 ` Kay Sievers
2010-07-22 14:10 ` Johannes Berg
2010-07-22 15:30 ` Kay Sievers
2010-07-22 17:18 ` Eric W. Biederman
2010-07-22 17:44 ` Kay Sievers
2010-07-22 18:20 ` Johannes Berg
2010-07-22 18:28 ` Greg KH
2010-07-22 18:36 ` Johannes Berg
2010-07-22 18:54 ` Greg KH
2010-07-23 1:31 ` Eric W. Biederman
2010-07-26 18:09 ` Greg KH
2010-07-27 9:10 ` Kay Sievers
2010-07-27 13:49 ` Greg KH
2010-07-27 13:59 ` Johannes Berg
2010-07-27 15:09 ` Greg KH
2010-07-27 15:32 ` Kay Sievers
2010-07-27 18:17 ` Eric W. Biederman
2010-07-27 18:24 ` Kay Sievers
2010-07-27 18:36 ` Greg KH
2010-07-27 18:44 ` Eric W. Biederman
2010-07-27 18:54 ` Kay Sievers
2010-07-27 20:53 ` Eric W. Biederman
2010-07-28 4:41 ` Kay Sievers
2010-07-28 5:12 ` Eric W. Biederman
2010-07-28 5:26 ` Kay Sievers
2010-07-28 7:57 ` Eric W. Biederman
2010-07-25 5:43 ` [PATCH] Driver-core: Always create class directories for classses that support namespaces Eric W. Biederman
2010-07-26 18:07 ` Greg KH
2010-07-22 23:03 ` [PATCH] Driver-core: Fix bluetooth network device rename regression Kay Sievers
2010-07-10 22:30 ` [PATCH] sysfs: Don't allow the creation of symlinks we can't remove Maciej W. Rozycki
2010-07-22 9:54 ` Johannes Berg
2010-07-22 10:05 ` Eric W. Biederman
2010-07-22 10:10 ` Johannes Berg
2010-07-22 10:35 ` Eric W. Biederman
2010-07-22 10:41 ` Johannes Berg
2010-07-22 11:27 ` Eric W. Biederman
2010-07-22 11:30 ` Johannes Berg
2010-07-08 16:55 ` [Bugme-new] [Bug 16257] New: sysfs changes break hwsim and bnep drivers Eric W. Biederman
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=m1mxuodo0n.fsf@fess.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=akpm@linux-foundation.org \
--cc=greg@kroah.com \
--cc=gregkh@suse.de \
--cc=johannes@sipsolutions.net \
--cc=kay.sievers@vrfy.org \
--cc=macro@linux-mips.org \
--cc=netdev@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.