فهرست منبع

[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 سال پیش
والد
کامیت
c171fef5c8
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  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",