Re: kobject_add unreachable code

From: Martin Stoilov
Date: Fri Dec 29 2006 - 12:44:25 EST


Martin Stoilov wrote:
> Olaf Dietsche wrote:
>
>> Martin Stoilov <mstoilov@xxxxxxxxxx> writes:
>>
>>
>>
>>> The following code in kobject_add
>>> if (!kobj->k_name)
>>> kobj->k_name = kobj->name;
>>> if (!kobj->k_name) {
>>> pr_debug("kobject attempted to be registered with no name!\n");
>>> WARN_ON(1);
>>> return -EINVAL;
>>> }
>>>
>>> doesn't look right to me. The second 'if' statement looks useless after
>>> the assignment in the first one. May be it was meant to be like:
>>> if (!*kobj->k_name)
>>>
>>>
>> The second test is true, if kobj->name is NULL as well.
>>
>>
> And how would that ever be true? kobj->name is a buffer inside kobj:
>
> struct kobject <http://localhost/lxr/http/ident?i=kobject> {
> const char * k_name;
> char name <http://localhost/lxr/http/ident?i=name>[KOBJ_NAME_LEN <http://localhost/lxr/http/ident?i=KOBJ_NAME_LEN>];
>
> kobj->name will not be NULL, even if kobj itself is NULL.
>

Oops, I am sorry for sending badly formated text! Here it is:

I don't understand how would that ever be true? kobj->name is a buffer inside kobj:

struct kobject {
const char * k_name;
char name[KOBJ_NAME_LEN];

kobj->name will not be NULL, even if kobj itself is NULL.


>> Regards, Olaf.
>> -
>> 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/
>>
>>
>>
>
> -Martin
> -
> 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/
>
>

-
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/