Browse Source

[PATCH] kobject_add() must have a valid name in order to succeed.

So we might as well check to verify this, and let the user know that
something is wrong if they didn't do it correctly, instead of oopsing
later on in kobject_get_name() or somewhere else.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman 19 years ago
parent
commit
c171fef5c8
1 changed files with 5 additions and 0 deletions
  1. 5 0
      lib/kobject.c

+ 5 - 0
lib/kobject.c

@@ -162,6 +162,11 @@ int kobject_add(struct kobject * kobj)
 		return -ENOENT;
 		return -ENOENT;
 	if (!kobj->k_name)
 	if (!kobj->k_name)
 		kobj->k_name = kobj->name;
 		kobj->k_name = kobj->name;
+	if (!kobj->k_name) {
+		pr_debug("kobject attempted to be registered with no name!\n");
+		WARN_ON(1);
+		return -EINVAL;
+	}
 	parent = kobject_get(kobj->parent);
 	parent = kobject_get(kobj->parent);
 
 
 	pr_debug("kobject %s: registering. parent: %s, set: %s\n",
 	pr_debug("kobject %s: registering. parent: %s, set: %s\n",