Эх сурвалжийг харах

[PATCH] kobject: don't oops on null kobject.name

kobject_get_path() will oops if one of the component names is
NULL.  Fix that by returning NULL instead of oopsing.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Chuck Ebbert 19 жил өмнө
parent
commit
b365b3daf2
1 өөрчлөгдсөн 4 нэмэгдсэн , 0 устгасан
  1. 4 0
      lib/kobject.c

+ 4 - 0
lib/kobject.c

@@ -72,6 +72,8 @@ static int get_kobj_path_length(struct kobject *kobj)
 	 * Add 1 to strlen for leading '/' of each level.
 	 * Add 1 to strlen for leading '/' of each level.
 	 */
 	 */
 	do {
 	do {
+		if (kobject_name(parent) == NULL)
+			return 0;
 		length += strlen(kobject_name(parent)) + 1;
 		length += strlen(kobject_name(parent)) + 1;
 		parent = parent->parent;
 		parent = parent->parent;
 	} while (parent);
 	} while (parent);
@@ -107,6 +109,8 @@ char *kobject_get_path(struct kobject *kobj, gfp_t gfp_mask)
 	int len;
 	int len;
 
 
 	len = get_kobj_path_length(kobj);
 	len = get_kobj_path_length(kobj);
+	if (len == 0)
+		return NULL;
 	path = kmalloc(len, gfp_mask);
 	path = kmalloc(len, gfp_mask);
 	if (!path)
 	if (!path)
 		return NULL;
 		return NULL;