]> Pileus Git - ~andy/linux/blobdiff - kernel/sys.c
Merge Trond's bugfixes
[~andy/linux] / kernel / sys.c
index f9492284e5d23b76862dd87dcf458fc80a7072bb..c5cb5b99cb8152808f569f6b993010a33e646bce 100644 (file)
@@ -368,6 +368,7 @@ EXPORT_SYMBOL(unregister_reboot_notifier);
 void kernel_restart(char *cmd)
 {
        kernel_restart_prepare(cmd);
+       disable_nonboot_cpus();
        if (!cmd)
                printk(KERN_EMERG "Restarting system.\n");
        else
@@ -2204,7 +2205,7 @@ static int __orderly_poweroff(void)
                return -ENOMEM;
        }
 
-       ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_NO_WAIT,
+       ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_WAIT_EXEC,
                                      NULL, argv_cleanup, NULL);
        if (ret == -ENOMEM)
                argv_free(argv);