Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34358c26 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

kobject: check for duplicate names in kobject_rename



This should catch any duplicate names before we try to tell sysfs to
rename the object.  This happens a lot with older versions of udev and
the network rename scripts.

Cc: David Miller <davem@davemloft.net>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent fcd239d3
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -308,6 +308,19 @@ int kobject_rename(struct kobject * kobj, const char *new_name)
	if (!kobj->parent)
	if (!kobj->parent)
		return -EINVAL;
		return -EINVAL;


	/* see if this name is already in use */
	if (kobj->kset) {
		struct kobject *temp_kobj;
		temp_kobj = kset_find_obj(kobj->kset, new_name);
		if (temp_kobj) {
			printk(KERN_WARNING "kobject '%s' can not be renamed "
			       "to '%s' as '%s' is already in existance.\n",
			       kobject_name(kobj), new_name, new_name);
			kobject_put(temp_kobj);
			return -EINVAL;
		}
	}

	devpath = kobject_get_path(kobj, GFP_KERNEL);
	devpath = kobject_get_path(kobj, GFP_KERNEL);
	if (!devpath) {
	if (!devpath) {
		error = -ENOMEM;
		error = -ENOMEM;