Re: [PATCH -mm] kobject_add error handling when set name failed

From: Greg KH
Date: Fri Dec 14 2007 - 17:43:31 EST


On Fri, Dec 14, 2007 at 05:24:05PM +0800, Dave Young wrote:
> In kobject_add, when kobject_set_name failed we should put the kobj and return.
>
> Signed-off-by: Dave Young <hidave.darkstar@xxxxxxxxx>
>
> ---
> lib/kobject.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff -upr linux/lib/kobject.c linux.new/lib/kobject.c
> --- linux/lib/kobject.c 2007-12-14 17:14:03.000000000 +0800
> +++ linux.new/lib/kobject.c 2007-12-14 17:17:48.000000000 +0800
> @@ -228,8 +228,13 @@ int kobject_add(struct kobject * kobj)
>
> if (!(kobj = kobject_get(kobj)))
> return -ENOENT;
> - if (!kobj->k_name)
> - kobject_set_name(kobj, "NO_NAME");
> + if (!kobj->k_name) {
> + error = kobject_set_name(kobj, "NO_NAME"));
> + if (error) {
> + kobject_put(kobj);
> + return error;
> + }
> + }

Thanks, but I have a pending patch from Kay in my inbox that messes up
this patch, as it drops most of this nonsense :)

> if (!*kobj->k_name) {
> pr_debug("kobject (%p) attempted to be registered with no "
> "name!\n", kobj);
> @@ -371,7 +376,7 @@ void kobject_init_ng(struct kobject *kob
> goto error;
> }
> if (!ktype) {
> - err_str = "must have a ktype to be initialized properly!\n";
> + err_str = "must have a ktype to be initialized properly!";
> goto error;

Oops, good catch, I'll just go add this change to my tree.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/