The patch titled driver core fixes: make_class_name() retval checks has been removed from the -mm tree. Its filename was driver-core-fixes-make_class_name-retval-checks.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: driver core fixes: make_class_name() retval checks From: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Make make_class_name() return NULL on error and fixup callers in the driver core. Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/base/class.c | 21 ++++++++++++++------- drivers/base/core.c | 17 +++++++++++------ 2 files changed, 25 insertions(+), 13 deletions(-) diff -puN drivers/base/class.c~driver-core-fixes-make_class_name-retval-checks drivers/base/class.c --- a/drivers/base/class.c~driver-core-fixes-make_class_name-retval-checks +++ a/drivers/base/class.c @@ -362,7 +362,7 @@ char *make_class_name(const char *name, class_name = kmalloc(size, GFP_KERNEL); if (!class_name) - return ERR_PTR(-ENOMEM); + return NULL; strcpy(class_name, name); strcat(class_name, ":"); @@ -409,8 +409,11 @@ static int make_deprecated_class_device_ return 0; class_name = make_class_name(class_dev->class->name, &class_dev->kobj); - error = sysfs_create_link(&class_dev->dev->kobj, &class_dev->kobj, - class_name); + if (class_name) + error = sysfs_create_link(&class_dev->dev->kobj, + &class_dev->kobj, class_name); + else + error = -ENOMEM; kfree(class_name); return error; } @@ -423,7 +426,8 @@ static void remove_deprecated_class_devi return; class_name = make_class_name(class_dev->class->name, &class_dev->kobj); - sysfs_remove_link(&class_dev->dev->kobj, class_name); + if (class_name) + sysfs_remove_link(&class_dev->dev->kobj, class_name); kfree(class_name); } #else @@ -861,9 +865,12 @@ int class_device_rename(struct class_dev if (class_dev->dev) { new_class_name = make_class_name(class_dev->class->name, &class_dev->kobj); - sysfs_create_link(&class_dev->dev->kobj, &class_dev->kobj, - new_class_name); - sysfs_remove_link(&class_dev->dev->kobj, old_class_name); + if (new_class_name) + sysfs_create_link(&class_dev->dev->kobj, + &class_dev->kobj, new_class_name); + if (old_class_name) + sysfs_remove_link(&class_dev->dev->kobj, + old_class_name); } #endif class_device_put(class_dev); diff -puN drivers/base/core.c~driver-core-fixes-make_class_name-retval-checks drivers/base/core.c --- a/drivers/base/core.c~driver-core-fixes-make_class_name-retval-checks +++ a/drivers/base/core.c @@ -519,9 +519,13 @@ int device_add(struct device *dev) &dev->kobj, dev->bus_id); #ifdef CONFIG_SYSFS_DEPRECATED if (parent) { - sysfs_create_link(&dev->kobj, &dev->parent->kobj, "device"); - class_name = make_class_name(dev->class->name, &dev->kobj); - sysfs_create_link(&dev->parent->kobj, &dev->kobj, class_name); + sysfs_create_link(&dev->kobj, &dev->parent->kobj, + "device"); + class_name = make_class_name(dev->class->name, + &dev->kobj); + if (class_name) + sysfs_create_link(&dev->parent->kobj, + &dev->kobj, class_name); } #endif } @@ -665,7 +669,9 @@ void device_del(struct device * dev) if (parent) { char *class_name = make_class_name(dev->class->name, &dev->kobj); - sysfs_remove_link(&dev->parent->kobj, class_name); + if (class_name) + sysfs_remove_link(&dev->parent->kobj, + class_name); kfree(class_name); sysfs_remove_link(&dev->kobj, "device"); } @@ -969,8 +975,7 @@ static int device_move_class_links(struc class_name = make_class_name(dev->class->name, &dev->kobj); if (!class_name) { - error = PTR_ERR(class_name); - class_name = NULL; + error = -ENOMEM; goto out; } if (old_parent) { _ Patches currently in -mm which might be from cornelia.huck@xxxxxxxxxx are driver-core-per-subsystem-multithreaded-probing.patch driver-core-dont-fail-attaching-the-device-if-it.patch git-s390.patch s390-preparatory-cleanup-in-common-i-o-layer.patch s390-make-the-per-subchannel-lock-dynamic.patch s390-dynamic-subchannel-mapping-of-ccw-devices.patch tty-switch-to-ktermios-sclp-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html