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]