diff options
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/kernel/main.c | 1 | ||||
-rw-r--r-- | arch/um/kernel/reboot.c | 9 |
2 files changed, 4 insertions, 6 deletions
diff --git a/arch/um/kernel/main.c b/arch/um/kernel/main.c index e59f58152678..1e1a87f1c510 100644 --- a/arch/um/kernel/main.c +++ b/arch/um/kernel/main.c | |||
@@ -69,7 +69,6 @@ static __init void do_uml_initcalls(void) | |||
69 | 69 | ||
70 | static void last_ditch_exit(int sig) | 70 | static void last_ditch_exit(int sig) |
71 | { | 71 | { |
72 | kmalloc_ok = 0; | ||
73 | signal(SIGINT, SIG_DFL); | 72 | signal(SIGINT, SIG_DFL); |
74 | signal(SIGTERM, SIG_DFL); | 73 | signal(SIGTERM, SIG_DFL); |
75 | signal(SIGHUP, SIG_DFL); | 74 | signal(SIGHUP, SIG_DFL); |
diff --git a/arch/um/kernel/reboot.c b/arch/um/kernel/reboot.c index 207f89d74908..fcec51da1d37 100644 --- a/arch/um/kernel/reboot.c +++ b/arch/um/kernel/reboot.c | |||
@@ -38,14 +38,14 @@ static void kill_off_processes(void) | |||
38 | 38 | ||
39 | void uml_cleanup(void) | 39 | void uml_cleanup(void) |
40 | { | 40 | { |
41 | kill_off_processes(); | 41 | kmalloc_ok = 0; |
42 | do_uml_exitcalls(); | 42 | do_uml_exitcalls(); |
43 | kill_off_processes(); | ||
43 | } | 44 | } |
44 | 45 | ||
45 | void machine_restart(char * __unused) | 46 | void machine_restart(char * __unused) |
46 | { | 47 | { |
47 | do_uml_exitcalls(); | 48 | uml_cleanup(); |
48 | kill_off_processes(); | ||
49 | CHOOSE_MODE(reboot_tt(), reboot_skas()); | 49 | CHOOSE_MODE(reboot_tt(), reboot_skas()); |
50 | } | 50 | } |
51 | 51 | ||
@@ -53,8 +53,7 @@ EXPORT_SYMBOL(machine_restart); | |||
53 | 53 | ||
54 | void machine_power_off(void) | 54 | void machine_power_off(void) |
55 | { | 55 | { |
56 | do_uml_exitcalls(); | 56 | uml_cleanup(); |
57 | kill_off_processes(); | ||
58 | CHOOSE_MODE(halt_tt(), halt_skas()); | 57 | CHOOSE_MODE(halt_tt(), halt_skas()); |
59 | } | 58 | } |
60 | 59 | ||