[<prev] [next>] [day] [month] [year] [list]
Message-id: <45959034.6050702@odesys.com>
Date: Fri, 29 Dec 2006 14:01:24 -0800
From: Martin Stoilov <mstoilov@...sys.com>
To: linux-kernel@...r.kernel.org
Subject: [PATCH] kobject: kobj->k_name verification fix
The function 'kobject_add' tries to verify the name of
a new kobject instance is properly set before continuing.
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;
}
The statement:
if (!kobj->k_name) {
pr_debug("kobject attempted to be registered with no name!\n");
WARN_ON(1);
return -EINVAL;
}
is useless the way it is right now, because it can never be true. I
think the
code was intended to be:
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;
}
because this would make sure the kobj->name buffer has something in it.
So the missing '*' is just a typo. Although, I would much prefer
expression like:
if (*kobj->k_name == '\0') {
pr_debug("kobject attempted to be registered with no name!\n");
WARN_ON(1);
return -EINVAL;
}
because this would've made the intention clear, in this patch
I just restore the missing '*' without changing the coding style of
the function.
It looks like thunderbird client replaces the tabs with spaces even if I say
'paste without formatting'. Don't know how to insert the patch intact in
the
body of the message. Attaching the patch.
Signed-off-by: Martin Stoilov <mstoilov@...sys.com>
---
View attachment "kobject_add.patch" of type "text/x-patch" (501 bytes)
Powered by blists - more mailing lists