summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Oeser <ioe-lkml@rameria.de>2008-07-23 01:25:01 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2008-08-21 10:15:34 -0700
commit25fdeb3f4468595ab2885687b13515fa848731c2 (patch)
tree841454db8ff56dfa260cc0a277023815909dbc7a
parent6a55617ed5d1aa62b850de2cf66f5ede2eef4825 (diff)
downloadlinux-3.10-25fdeb3f4468595ab2885687b13515fa848731c2.tar.gz
linux-3.10-25fdeb3f4468595ab2885687b13515fa848731c2.tar.bz2
linux-3.10-25fdeb3f4468595ab2885687b13515fa848731c2.zip
kobject: Replace ALL occurrences of '/' with '!' instead of only the first one.
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>
-rw-r--r--lib/kobject.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/kobject.c b/lib/kobject.c
index bd732ffebc8..fbf0ae28237 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -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);