diff --git a/[refs] b/[refs] index 1e25d64d216c..03e2604b71ec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4cdc1d1fa5c5ac14dc21be19832f02fd0b83867e +refs/heads/master: d478376cb0dc9ab16a2b6e02fd8cd1174e724c64 diff --git a/trunk/drivers/base/driver.c b/trunk/drivers/base/driver.c index bf31a0170a48..9a6537f14401 100644 --- a/trunk/drivers/base/driver.c +++ b/trunk/drivers/base/driver.c @@ -133,6 +133,7 @@ int driver_add_kobj(struct device_driver *drv, struct kobject *kobj, { va_list args; char *name; + int ret; va_start(args, fmt); name = kvasprintf(GFP_KERNEL, fmt, args); @@ -141,7 +142,9 @@ int driver_add_kobj(struct device_driver *drv, struct kobject *kobj, if (!name) return -ENOMEM; - return kobject_add(kobj, &drv->p->kobj, "%s", name); + ret = kobject_add(kobj, &drv->p->kobj, "%s", name); + kfree(name); + return ret; } EXPORT_SYMBOL_GPL(driver_add_kobj);