Re: kobject_add unreachable code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Dec 29 2006 09:36, Martin Stoilov wrote:
> Olaf Dietsche wrote:
>> Martin Stoilov <[email protected]> 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.
>
>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.

So you probably found a bug. Maybe this was intended then?

     if (!kobj->k_name)
         kobj->k_name = kobj->name;
     if (*kobj->k_name == '\0') {
         pr_debug("kobject attempted to be registered with no name!\n");
         WARN_ON(1);
         return -EINVAL;
     }


	-`J'
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux