Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1350770112bd9bd5696cb52deb712370012d80e0
Commit:     1350770112bd9bd5696cb52deb712370012d80e0
Parent:     bb289bc46f3f0abeae58665242f0edb0c6ec501f
Author:     Martin Stoilov <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 5 16:15:23 2007 -0800
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Fri Feb 16 15:19:17 2007 -0800

    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.
    
    Signed-off-by: Martin Stoilov <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 lib/kobject.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/kobject.c b/lib/kobject.c
index 2782f49..93685f4 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -171,7 +171,7 @@ int kobject_shadow_add(struct kobject * kobj, struct dentry 
*shadow_parent)
                return -ENOENT;
        if (!kobj->k_name)
                kobj->k_name = kobj->name;
-       if (!kobj->k_name) {
+       if (!*kobj->k_name) {
                pr_debug("kobject attempted to be registered with no name!\n");
                WARN_ON(1);
                return -EINVAL;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to