diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 3 | ||||
-rw-r--r-- | lib/kobject.c | 10 | ||||
-rw-r--r-- | lib/kobject_uevent.c | 3 |
3 files changed, 13 insertions, 3 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index df27132a56f4..ba106db5a65b 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -74,6 +74,9 @@ config DEBUG_FS | |||
74 | debugging files into. Enable this option to be able to read and | 74 | debugging files into. Enable this option to be able to read and |
75 | write to these files. | 75 | write to these files. |
76 | 76 | ||
77 | For detailed documentation on the debugfs API, see | ||
78 | Documentation/DocBook/filesystems. | ||
79 | |||
77 | If unsure, say N. | 80 | If unsure, say N. |
78 | 81 | ||
79 | config HEADERS_CHECK | 82 | config HEADERS_CHECK |
diff --git a/lib/kobject.c b/lib/kobject.c index dcade0543bd2..744401571ed7 100644 --- a/lib/kobject.c +++ b/lib/kobject.c | |||
@@ -216,13 +216,19 @@ static int kobject_add_internal(struct kobject *kobj) | |||
216 | static int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, | 216 | static int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, |
217 | va_list vargs) | 217 | va_list vargs) |
218 | { | 218 | { |
219 | /* Free the old name, if necessary. */ | 219 | const char *old_name = kobj->name; |
220 | kfree(kobj->name); | 220 | char *s; |
221 | 221 | ||
222 | kobj->name = kvasprintf(GFP_KERNEL, fmt, vargs); | 222 | kobj->name = kvasprintf(GFP_KERNEL, fmt, vargs); |
223 | if (!kobj->name) | 223 | if (!kobj->name) |
224 | return -ENOMEM; | 224 | return -ENOMEM; |
225 | 225 | ||
226 | /* ewww... some of these buggers have '/' in the name ... */ | ||
227 | s = strchr(kobj->name, '/'); | ||
228 | if (s) | ||
229 | s[0] = '!'; | ||
230 | |||
231 | kfree(old_name); | ||
226 | return 0; | 232 | return 0; |
227 | } | 233 | } |
228 | 234 | ||
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index 2fa545a63160..9f8d599459d1 100644 --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c | |||
@@ -245,7 +245,8 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action, | |||
245 | if (retval) | 245 | if (retval) |
246 | goto exit; | 246 | goto exit; |
247 | 247 | ||
248 | call_usermodehelper(argv[0], argv, env->envp, UMH_WAIT_EXEC); | 248 | retval = call_usermodehelper(argv[0], argv, |
249 | env->envp, UMH_WAIT_EXEC); | ||
249 | } | 250 | } |
250 | 251 | ||
251 | exit: | 252 | exit: |