kobject: Replace ALL occurrences of '/' with '!' instead of only the first one.
authorIngo Oeser <ioe-lkml@rameria.de>
Tue, 22 Jul 2008 23:25:01 +0000 (01:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 21 Aug 2008 17:15:34 +0000 (10:15 -0700)
A recent patch from Kay Sievers <kay.sievers@vrfy.org>
replaced the first occurrence of '/' with '!' as needed for block devices.

Now do some cheap defensive coding and replace all of them to avoid future
issues in this area.

Signed-off-by: Ingo Oeser <ioe-lkml@rameria.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
lib/kobject.c

index bd732ff..fbf0ae2 100644 (file)
@@ -223,8 +223,7 @@ static int kobject_set_name_vargs(struct kobject *kobj, const char *fmt,
                return -ENOMEM;
 
        /* ewww... some of these buggers have '/' in the name ... */
-       s = strchr(kobj->name, '/');
-       if (s)
+       while ((s = strchr(kobj->name, '/')))
                s[0] = '!';
 
        kfree(old_name);