[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080512220232.GA16914@kroah.com>
Date: Mon, 12 May 2008 15:02:32 -0700
From: Greg KH <greg@...ah.com>
To: "Eric W. Biederman" <ebiederm@...ssion.com>,
Randy Dunlap <randy.dunlap@...cle.com>
Cc: Greg KH <gregkh@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Benjamin Thery <benjamin.thery@...l.net>,
linux-kernel@...r.kernel.org, Tejun Heo <htejun@...il.com>,
Al Viro <viro@....linux.org.uk>,
Daniel Lezcano <dlezcano@...ibm.com>,
"Serge E. Hallyn" <serue@...ibm.com>,
Pavel Emelyanov <xemul@...nvz.org>, netdev@...r.kernel.org
Subject: Re: kobject: Fix kobject_rename and !CONFIG_SYSFS
On Thu, May 08, 2008 at 02:41:00PM -0700, Eric W. Biederman wrote:
>
> From: Eric W. Biederman <ebiederm@...ssion.com>
>
> When looking at kobject_rename I found two bugs with
> that exist when sysfs support is disabled in the kernel.
>
> kobject_rename does not change the name on the kobject when
> sysfs support is not compiled in.
>
> kobject_rename without locking attempts to check the
> validity of a rename operation, which the kobject layer
> simply does not have the infrastructure to do so.
>
> This patch documents the previously unstated requirement of
> kobject_rename that is the responsibility of the caller to
> provide mutual exclusion and to be certain that the new_name
> for the kobject is valid.
>
> This patch modifies sysfs_rename_dir in !CONFIG_SYSFS case
> to call kobject_set_name to actually change the kobject_name.
>
> This patch removes the bogus and misleading check in kobject_rename
> that attempts to see if a rename is valid. The check is bogus
> because we do not have the proper locking. The check is misleading
> because it looks like we can and do perform useful checking at the
> kobject level that we don't.
>
> The users in net/core/dev.c already have all of the necessary checks
> in place and don't care. The other use in net/core/wireless.c
> as originally implemented is incorrect because it performs no locking
> and a simple patch has been sent that adds the necessary locking
> and sanity checks there. Ensuring this patch will not have an
> effect on users of kobject_rename or device_rename.
Eric, Randy Dunlap has found that this patch breaks the build when
CONFIG_SYSFS is not enabled. Can you please fix it up before I send it
to Linus?
The exact error is:
In file included from /local/linsrc/next-20080509/include/linux/kobject.h:21,
from /local/linsrc/next-20080509/include/linux/module.h:16,
from /local/linsrc/next-20080509/include/linux/crypto.h:21,
from /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets_64.c:7,
from /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets.c:4:
/local/linsrc/next-20080509/include/linux/sysfs.h: In function 'sysfs_rename_dir':
/local/linsrc/next-20080509/include/linux/sysfs.h:142: error: implicit declaration of function 'kobject_set_name'
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists