[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>
This commit is contained in:
Родитель
c171fef5c8
Коммит
b365b3daf2
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче