diff options
Diffstat (limited to 'kernel/kmod.c')
-rw-r--r-- | kernel/kmod.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 1d32defa38ab..5c470c57fb57 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c | |||
@@ -197,11 +197,12 @@ static void __call_usermodehelper(void *data) | |||
197 | { | 197 | { |
198 | struct subprocess_info *sub_info = data; | 198 | struct subprocess_info *sub_info = data; |
199 | pid_t pid; | 199 | pid_t pid; |
200 | int wait = sub_info->wait; | ||
200 | 201 | ||
201 | /* CLONE_VFORK: wait until the usermode helper has execve'd | 202 | /* CLONE_VFORK: wait until the usermode helper has execve'd |
202 | * successfully We need the data structures to stay around | 203 | * successfully We need the data structures to stay around |
203 | * until that is done. */ | 204 | * until that is done. */ |
204 | if (sub_info->wait) | 205 | if (wait) |
205 | pid = kernel_thread(wait_for_helper, sub_info, | 206 | pid = kernel_thread(wait_for_helper, sub_info, |
206 | CLONE_FS | CLONE_FILES | SIGCHLD); | 207 | CLONE_FS | CLONE_FILES | SIGCHLD); |
207 | else | 208 | else |
@@ -211,7 +212,7 @@ static void __call_usermodehelper(void *data) | |||
211 | if (pid < 0) { | 212 | if (pid < 0) { |
212 | sub_info->retval = pid; | 213 | sub_info->retval = pid; |
213 | complete(sub_info->complete); | 214 | complete(sub_info->complete); |
214 | } else if (!sub_info->wait) | 215 | } else if (!wait) |
215 | complete(sub_info->complete); | 216 | complete(sub_info->complete); |
216 | } | 217 | } |
217 | 218 | ||