From: ebiederm@xmission.com (Eric W. Biederman)
To: Greg KH <gregkh@suse.de>
Cc: Benjamin Thery <benjamin.thery@bull.net>,
linux-kernel@vger.kernel.org, Tejun Heo <htejun@gmail.com>,
Al Viro <viro@ftp.linux.org.uk>,
Daniel Lezcano <dlezcano@fr.ibm.com>,
"Serge E. Hallyn" <serue@us.ibm.com>,
Pavel Emelyanov <xemul@openvz.org>,
netdev@vger.kernel.org
Subject: Re: [PATCH 10/11] avoid kobject name conflict with different namespaces
Date: Thu, 08 May 2008 12:25:18 -0700 [thread overview]
Message-ID: <m1tzh8d2e9.fsf@frodo.ebiederm.org> (raw)
In-Reply-To: <20080507190838.GA4467@suse.de> (Greg KH's message of "Wed, 7 May 2008 12:08:38 -0700")
Greg KH <gregkh@suse.de> writes:
> On Wed, May 07, 2008 at 11:49:19AM -0700, Eric W. Biederman wrote:
>> Unless there is another path I think placing an additional pointer in
>> kobj_type so we can find it through ktype is the simplest solution.
>> Although using the kset is also sane.
>
> Ick, ick, ick :)
>
>> The easiest and most trivially correct thing to do would be to simply
>> remove the unnecessary check from kobject_rename. We perform the
>> check at the upper levels in the network anyway. And kobject_rename
>> is only used by the network stack.
>
> Wireless uses it also for some things, and it requires that it fail if a
> duplicate is found. I thought that s390 also used it, but I don't see
> that usage in the tree anymore, perhaps they switched to something else.
Looking at this a little further kobject_rename is a complete noop
when sysfs support is not compiled in. That is the kobject does not
get renamed, even if the higher level objects do.
This makes the wireless dependency on an error code from kobject_rename
completely bogus as the kobject layer is not prepared to give any kind of
reliable result, and it makes kobject_rename completely bogus if sysfs
support is not compiled in.
Further there is no locking to guarantee renames are atomic
or mutually exclusive at the kobject level.
With no locking and code that does nothing in the absence of sysfs
attempting to check renames for validity at the kobject level (when
renames don't happen at the kobject level) is totally bogus.
Since renames don't happen at the kobject level checking them for
sanity at the kobject level makes no sense.
Eric
next prev parent reply other threads:[~2008-05-08 19:30 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-06 17:30 [RESEND][PATCH 00/11] sysfs tagged directories Benjamin Thery
2008-05-06 17:30 ` [PATCH 01/11] sysfs: Support for preventing unmounts Benjamin Thery
2008-05-06 17:30 ` [PATCH 02/11] sysfs: sysfs_get_dentry add a sb parameter Benjamin Thery
2008-05-06 17:31 ` [PATCH 03/11] sysfs: Implement __sysfs_get_dentry Benjamin Thery
2008-05-06 17:31 ` [PATCH 04/11] sysfs: Rename Support multiple superblocks Benjamin Thery
2008-05-06 17:31 ` [PATCH 05/11] sysfs: sysfs_chmod_file handle " Benjamin Thery
2008-05-06 17:31 ` [PATCH 06/11] sysfs: Implement sysfs tagged directory support Benjamin Thery
2008-05-06 17:31 ` [PATCH 07/11] sysfs: Implement sysfs_delete_link and sysfs_rename_link Benjamin Thery
2008-05-06 17:31 ` [PATCH 08/11] driver core: Implement tagged directory support for device classes Benjamin Thery
2008-05-06 17:32 ` [PATCH 09/11] netns: Enable tagging for net_class directories in sysfs Benjamin Thery
2008-05-06 17:32 ` [PATCH 10/11] avoid kobject name conflict with different namespaces Benjamin Thery
2008-05-07 18:49 ` Eric W. Biederman
2008-05-07 19:08 ` Greg KH
2008-05-07 20:54 ` Eric W. Biederman
2008-05-08 8:28 ` Cornelia Huck
2008-05-08 19:28 ` Eric W. Biederman
2008-05-09 5:35 ` Cornelia Huck
2008-05-09 18:16 ` Eric W. Biederman
2008-05-08 19:25 ` Eric W. Biederman [this message]
2008-05-08 21:30 ` [PATCH] wireless: Add missing locking to cfg80211_dev_rename Eric W. Biederman
2008-05-08 22:12 ` Serge E. Hallyn
2008-05-08 22:18 ` Johannes Berg
2008-05-08 21:41 ` [PATCH] Fix kobject_rename and !CONFIG_SYSFS Eric W. Biederman
2008-05-12 22:02 ` kobject: " Greg KH
2008-05-13 7:00 ` Eric W. Biederman
2008-05-13 14:25 ` Benjamin Thery
2008-05-13 16:44 ` Greg KH
2008-05-13 17:55 ` [PATCH] Fix kobject_rename and !CONFIG_SYSFS v2 Eric W. Biederman
2008-05-13 18:23 ` Randy.Dunlap
2008-05-13 20:43 ` Eric W. Biederman
2008-05-13 20:16 ` Greg KH
2008-05-13 20:45 ` [PATCH] Fix kobject_rename and !CONFIG_SYSFS v3 Eric W. Biederman
2008-05-13 21:18 ` Randy Dunlap
2008-05-14 4:39 ` [PATCH] Fix kobject_rename and !CONFIG_SYSFS v4 Eric W. Biederman
2008-05-14 5:03 ` Andrew Morton
2008-05-14 9:01 ` Eric W. Biederman
2008-05-14 9:20 ` Andrew Morton
2008-05-14 9:51 ` Benjamin Thery
2008-05-14 9:56 ` Andrew Morton
2008-05-13 19:33 ` kobject: Fix kobject_rename and !CONFIG_SYSFS Benjamin Thery
2008-05-13 20:42 ` Eric W. Biederman
2008-05-06 17:32 ` [PATCH 11/11] sysfs: user namespaces: add ns to user_struct Benjamin Thery
2008-05-06 19:03 ` Serge E. Hallyn
2008-05-06 17:53 ` [RESEND][PATCH 00/11] sysfs tagged directories Greg KH
2008-05-06 18:41 ` Benjamin Thery
2008-05-07 13:19 ` Daniel Lezcano
2008-05-07 13:47 ` Benjamin Thery
2008-05-14 15:07 ` Benjamin Thery
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=m1tzh8d2e9.fsf@frodo.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=benjamin.thery@bull.net \
--cc=dlezcano@fr.ibm.com \
--cc=gregkh@suse.de \
--cc=htejun@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=serue@us.ibm.com \
--cc=viro@ftp.linux.org.uk \
--cc=xemul@openvz.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