Commit 59586e5a262a29361c45c929ea3253d4aec830b0

Authored by Eric W. Biederman
Committed by Linus Torvalds
1 parent 16dcb4bbda

[PATCH] Don't export machine_restart, machine_halt, or machine_power_off.

machine_restart, machine_halt and machine_power_off are machine
specific hooks deep into the reboot logic, that modules
have no business messing with.  Usually code should be calling
kernel_restart, kernel_halt, kernel_power_off, or
emergency_restart. So don't export machine_restart,
machine_halt, and machine_power_off so we can catch buggy users.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 29 changed files with 0 additions and 152 deletions Side-by-side Diff

arch/alpha/kernel/process.c
... ... @@ -165,7 +165,6 @@
165 165 common_shutdown(LINUX_REBOOT_CMD_RESTART, restart_cmd);
166 166 }
167 167  
168   -EXPORT_SYMBOL(machine_restart);
169 168  
170 169 void
171 170 machine_halt(void)
... ... @@ -173,7 +172,6 @@
173 172 common_shutdown(LINUX_REBOOT_CMD_HALT, NULL);
174 173 }
175 174  
176   -EXPORT_SYMBOL(machine_halt);
177 175  
178 176 void
179 177 machine_power_off(void)
... ... @@ -181,7 +179,6 @@
181 179 common_shutdown(LINUX_REBOOT_CMD_POWER_OFF, NULL);
182 180 }
183 181  
184   -EXPORT_SYMBOL(machine_power_off);
185 182  
186 183 /* Used by sysrq-p, among others. I don't believe r9-r15 are ever
187 184 saved in the context it's used. */
arch/arm/kernel/process.c
... ... @@ -131,7 +131,6 @@
131 131 {
132 132 }
133 133  
134   -EXPORT_SYMBOL(machine_halt);
135 134  
136 135 void machine_power_off(void)
137 136 {
... ... @@ -139,7 +138,6 @@
139 138 pm_power_off();
140 139 }
141 140  
142   -EXPORT_SYMBOL(machine_power_off);
143 141  
144 142 void machine_restart(char * __unused)
145 143 {
... ... @@ -168,8 +166,6 @@
168 166 printk("Reboot failed -- System halted\n");
169 167 while (1);
170 168 }
171   -
172   -EXPORT_SYMBOL(machine_restart);
173 169  
174 170 void __show_regs(struct pt_regs *regs)
175 171 {
arch/arm26/kernel/process.c
... ... @@ -103,9 +103,6 @@
103 103 {
104 104 }
105 105  
106   -EXPORT_SYMBOL(machine_halt);
107   -EXPORT_SYMBOL(machine_power_off);
108   -
109 106 void machine_restart(char * __unused)
110 107 {
111 108 /*
... ... @@ -135,8 +132,6 @@
135 132 printk("Reboot failed -- System halted\n");
136 133 while (1);
137 134 }
138   -
139   -EXPORT_SYMBOL(machine_restart);
140 135  
141 136 void show_regs(struct pt_regs * regs)
142 137 {
arch/cris/kernel/process.c
... ... @@ -214,8 +214,6 @@
214 214 hard_reset_now();
215 215 }
216 216  
217   -EXPORT_SYMBOL(machine_restart);
218   -
219 217 /*
220 218 * Similar to machine_power_off, but don't shut off power. Add code
221 219 * here to freeze the system for e.g. post-mortem debug purpose when
222 220  
... ... @@ -226,15 +224,11 @@
226 224 {
227 225 }
228 226  
229   -EXPORT_SYMBOL(machine_halt);
230   -
231 227 /* If or when software power-off is implemented, add code here. */
232 228  
233 229 void machine_power_off(void)
234 230 {
235 231 }
236   -
237   -EXPORT_SYMBOL(machine_power_off);
238 232  
239 233 /*
240 234 * When a process does an "exec", machine state like FPU and debug
arch/h8300/kernel/process.c
... ... @@ -90,8 +90,6 @@
90 90 __asm__("jmp @@0");
91 91 }
92 92  
93   -EXPORT_SYMBOL(machine_restart);
94   -
95 93 void machine_halt(void)
96 94 {
97 95 local_irq_disable();
98 96  
... ... @@ -99,16 +97,12 @@
99 97 for (;;);
100 98 }
101 99  
102   -EXPORT_SYMBOL(machine_halt);
103   -
104 100 void machine_power_off(void)
105 101 {
106 102 local_irq_disable();
107 103 __asm__("sleep");
108 104 for (;;);
109 105 }
110   -
111   -EXPORT_SYMBOL(machine_power_off);
112 106  
113 107 void show_regs(struct pt_regs * regs)
114 108 {
arch/i386/kernel/reboot.c
... ... @@ -337,14 +337,10 @@
337 337 machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
338 338 }
339 339  
340   -EXPORT_SYMBOL(machine_restart);
341   -
342 340 void machine_halt(void)
343 341 {
344 342 }
345 343  
346   -EXPORT_SYMBOL(machine_halt);
347   -
348 344 void machine_power_off(void)
349 345 {
350 346 lapic_shutdown();
... ... @@ -354,6 +350,4 @@
354 350 if (pm_power_off)
355 351 pm_power_off();
356 352 }
357   -
358   -EXPORT_SYMBOL(machine_power_off);
arch/i386/mach-visws/reboot.c
... ... @@ -22,8 +22,6 @@
22 22 outb(PIIX4_RESET_VAL, PIIX4_RESET_PORT);
23 23 }
24 24  
25   -EXPORT_SYMBOL(machine_restart);
26   -
27 25 void machine_power_off(void)
28 26 {
29 27 unsigned short pm_status;
30 28  
... ... @@ -43,11 +41,7 @@
43 41 outl(PIIX_SPECIAL_STOP, 0xCFC);
44 42 }
45 43  
46   -EXPORT_SYMBOL(machine_power_off);
47   -
48 44 void machine_halt(void)
49 45 {
50 46 }
51   -
52   -EXPORT_SYMBOL(machine_halt);
arch/i386/mach-voyager/voyager_basic.c
... ... @@ -278,8 +278,6 @@
278 278 }
279 279 }
280 280  
281   -EXPORT_SYMBOL(machine_restart);
282   -
283 281 void
284 282 mca_nmi_hook(void)
285 283 {
286 284  
... ... @@ -315,13 +313,9 @@
315 313 machine_power_off();
316 314 }
317 315  
318   -EXPORT_SYMBOL(machine_halt);
319   -
320 316 void machine_power_off(void)
321 317 {
322 318 if (pm_power_off)
323 319 pm_power_off();
324 320 }
325   -
326   -EXPORT_SYMBOL(machine_power_off);
arch/ia64/kernel/process.c
... ... @@ -807,16 +807,12 @@
807 807 (*efi.reset_system)(EFI_RESET_WARM, 0, 0, NULL);
808 808 }
809 809  
810   -EXPORT_SYMBOL(machine_restart);
811   -
812 810 void
813 811 machine_halt (void)
814 812 {
815 813 cpu_halt();
816 814 }
817 815  
818   -EXPORT_SYMBOL(machine_halt);
819   -
820 816 void
821 817 machine_power_off (void)
822 818 {
... ... @@ -824,6 +820,4 @@
824 820 pm_power_off();
825 821 machine_halt();
826 822 }
827   -
828   -EXPORT_SYMBOL(machine_power_off);
arch/m32r/kernel/process.c
... ... @@ -115,8 +115,6 @@
115 115 cpu_relax();
116 116 }
117 117  
118   -EXPORT_SYMBOL(machine_restart);
119   -
120 118 void machine_halt(void)
121 119 {
122 120 printk("Please push reset button!\n");
123 121  
... ... @@ -124,14 +122,10 @@
124 122 cpu_relax();
125 123 }
126 124  
127   -EXPORT_SYMBOL(machine_halt);
128   -
129 125 void machine_power_off(void)
130 126 {
131 127 /* M32R_FIXME */
132 128 }
133   -
134   -EXPORT_SYMBOL(machine_power_off);
135 129  
136 130 static int __init idle_setup (char *str)
137 131 {
arch/m68k/kernel/process.c
... ... @@ -113,8 +113,6 @@
113 113 for (;;);
114 114 }
115 115  
116   -EXPORT_SYMBOL(machine_restart);
117   -
118 116 void machine_halt(void)
119 117 {
120 118 if (mach_halt)
121 119  
... ... @@ -122,16 +120,12 @@
122 120 for (;;);
123 121 }
124 122  
125   -EXPORT_SYMBOL(machine_halt);
126   -
127 123 void machine_power_off(void)
128 124 {
129 125 if (mach_power_off)
130 126 mach_power_off();
131 127 for (;;);
132 128 }
133   -
134   -EXPORT_SYMBOL(machine_power_off);
135 129  
136 130 void show_regs(struct pt_regs * regs)
137 131 {
arch/m68knommu/kernel/process.c
... ... @@ -80,8 +80,6 @@
80 80 for (;;);
81 81 }
82 82  
83   -EXPORT_SYMBOL(machine_restart);
84   -
85 83 void machine_halt(void)
86 84 {
87 85 if (mach_halt)
88 86  
... ... @@ -89,16 +87,12 @@
89 87 for (;;);
90 88 }
91 89  
92   -EXPORT_SYMBOL(machine_halt);
93   -
94 90 void machine_power_off(void)
95 91 {
96 92 if (mach_power_off)
97 93 mach_power_off();
98 94 for (;;);
99 95 }
100   -
101   -EXPORT_SYMBOL(machine_power_off);
102 96  
103 97 void show_regs(struct pt_regs * regs)
104 98 {
arch/mips/kernel/reset.c
... ... @@ -26,19 +26,13 @@
26 26 _machine_restart(command);
27 27 }
28 28  
29   -EXPORT_SYMBOL(machine_restart);
30   -
31 29 void machine_halt(void)
32 30 {
33 31 _machine_halt();
34 32 }
35 33  
36   -EXPORT_SYMBOL(machine_halt);
37   -
38 34 void machine_power_off(void)
39 35 {
40 36 _machine_power_off();
41 37 }
42   -
43   -EXPORT_SYMBOL(machine_power_off);
arch/parisc/kernel/process.c
... ... @@ -150,8 +150,6 @@
150 150  
151 151 }
152 152  
153   -EXPORT_SYMBOL(machine_restart);
154   -
155 153 void machine_halt(void)
156 154 {
157 155 /*
158 156  
... ... @@ -160,9 +158,7 @@
160 158 */
161 159 }
162 160  
163   -EXPORT_SYMBOL(machine_halt);
164 161  
165   -
166 162 /*
167 163 * This routine is called from sys_reboot to actually turn off the
168 164 * machine
... ... @@ -186,8 +182,6 @@
186 182 printk(KERN_EMERG "System shut down completed.\n"
187 183 KERN_EMERG "Please power this system off now.");
188 184 }
189   -
190   -EXPORT_SYMBOL(machine_power_off);
191 185  
192 186  
193 187 /*
arch/ppc/kernel/setup.c
... ... @@ -121,8 +121,6 @@
121 121 ppc_md.restart(cmd);
122 122 }
123 123  
124   -EXPORT_SYMBOL(machine_restart);
125   -
126 124 void machine_power_off(void)
127 125 {
128 126 #ifdef CONFIG_NVRAM
... ... @@ -131,8 +129,6 @@
131 129 ppc_md.power_off();
132 130 }
133 131  
134   -EXPORT_SYMBOL(machine_power_off);
135   -
136 132 void machine_halt(void)
137 133 {
138 134 #ifdef CONFIG_NVRAM
... ... @@ -140,8 +136,6 @@
140 136 #endif
141 137 ppc_md.halt();
142 138 }
143   -
144   -EXPORT_SYMBOL(machine_halt);
145 139  
146 140 void (*pm_power_off)(void) = machine_power_off;
147 141  
arch/ppc64/kernel/setup.c
... ... @@ -694,7 +694,6 @@
694 694 local_irq_disable();
695 695 while (1) ;
696 696 }
697   -EXPORT_SYMBOL(machine_restart);
698 697  
699 698 void machine_power_off(void)
700 699 {
... ... @@ -707,7 +706,6 @@
707 706 local_irq_disable();
708 707 while (1) ;
709 708 }
710   -EXPORT_SYMBOL(machine_power_off);
711 709  
712 710 void machine_halt(void)
713 711 {
... ... @@ -720,7 +718,6 @@
720 718 local_irq_disable();
721 719 while (1) ;
722 720 }
723   -EXPORT_SYMBOL(machine_halt);
724 721  
725 722 static int ppc64_panic_event(struct notifier_block *this,
726 723 unsigned long event, void *ptr)
arch/s390/kernel/setup.c
... ... @@ -299,23 +299,17 @@
299 299 _machine_restart(command);
300 300 }
301 301  
302   -EXPORT_SYMBOL(machine_restart);
303   -
304 302 void machine_halt(void)
305 303 {
306 304 console_unblank();
307 305 _machine_halt();
308 306 }
309 307  
310   -EXPORT_SYMBOL(machine_halt);
311   -
312 308 void machine_power_off(void)
313 309 {
314 310 console_unblank();
315 311 _machine_power_off();
316 312 }
317   -
318   -EXPORT_SYMBOL(machine_power_off);
319 313  
320 314 static void __init
321 315 add_memory_hole(unsigned long start, unsigned long end)
arch/sh/kernel/process.c
... ... @@ -80,8 +80,6 @@
80 80 "mov.l @%1, %0" : : "r" (0x10000000), "r" (0x80000001));
81 81 }
82 82  
83   -EXPORT_SYMBOL(machine_restart);
84   -
85 83 void machine_halt(void)
86 84 {
87 85 #if defined(CONFIG_SH_HS7751RVOIP)
... ... @@ -96,8 +94,6 @@
96 94 cpu_sleep();
97 95 }
98 96  
99   -EXPORT_SYMBOL(machine_halt);
100   -
101 97 void machine_power_off(void)
102 98 {
103 99 #if defined(CONFIG_SH_HS7751RVOIP)
... ... @@ -109,8 +105,6 @@
109 105 ctrl_outw(0x0001, PA_POWOFF);
110 106 #endif
111 107 }
112   -
113   -EXPORT_SYMBOL(machine_power_off);
114 108  
115 109 void show_regs(struct pt_regs * regs)
116 110 {
arch/sparc/kernel/process.c
... ... @@ -158,8 +158,6 @@
158 158 panic("Halt failed!");
159 159 }
160 160  
161   -EXPORT_SYMBOL(machine_halt);
162   -
163 161 void machine_restart(char * cmd)
164 162 {
165 163 char *p;
... ... @@ -180,8 +178,6 @@
180 178 panic("Reboot failed!");
181 179 }
182 180  
183   -EXPORT_SYMBOL(machine_restart);
184   -
185 181 void machine_power_off(void)
186 182 {
187 183 #ifdef CONFIG_SUN_AUXIO
... ... @@ -190,8 +186,6 @@
190 186 #endif
191 187 machine_halt();
192 188 }
193   -
194   -EXPORT_SYMBOL(machine_power_off);
195 189  
196 190 static DEFINE_SPINLOCK(sparc_backtrace_lock);
197 191  
arch/sparc64/kernel/power.c
... ... @@ -69,8 +69,6 @@
69 69 machine_halt();
70 70 }
71 71  
72   -EXPORT_SYMBOL(machine_power_off);
73   -
74 72 #ifdef CONFIG_PCI
75 73 static int powerd(void *__unused)
76 74 {
arch/sparc64/kernel/process.c
... ... @@ -124,8 +124,6 @@
124 124 panic("Halt failed!");
125 125 }
126 126  
127   -EXPORT_SYMBOL(machine_halt);
128   -
129 127 void machine_alt_power_off(void)
130 128 {
131 129 if (!serial_console && prom_palette)
... ... @@ -153,8 +151,6 @@
153 151 prom_reboot("");
154 152 panic("Reboot failed!");
155 153 }
156   -
157   -EXPORT_SYMBOL(machine_restart);
158 154  
159 155 static void show_regwindow32(struct pt_regs *regs)
160 156 {
arch/um/kernel/reboot.c
... ... @@ -49,22 +49,16 @@
49 49 CHOOSE_MODE(reboot_tt(), reboot_skas());
50 50 }
51 51  
52   -EXPORT_SYMBOL(machine_restart);
53   -
54 52 void machine_power_off(void)
55 53 {
56 54 uml_cleanup();
57 55 CHOOSE_MODE(halt_tt(), halt_skas());
58 56 }
59 57  
60   -EXPORT_SYMBOL(machine_power_off);
61   -
62 58 void machine_halt(void)
63 59 {
64 60 machine_power_off();
65 61 }
66   -
67   -EXPORT_SYMBOL(machine_halt);
68 62  
69 63 /*
70 64 * Overrides for Emacs so that we follow Linus's tabbing style.
arch/v850/kernel/anna.c
... ... @@ -132,8 +132,6 @@
132 132 asm ("jmp r0"); /* Jump to the reset vector. */
133 133 }
134 134  
135   -EXPORT_SYMBOL(machine_restart);
136   -
137 135 void machine_halt (void)
138 136 {
139 137 #ifdef CONFIG_RESET_GUARD
140 138  
... ... @@ -145,14 +143,10 @@
145 143 asm ("halt; nop; nop; nop; nop; nop");
146 144 }
147 145  
148   -EXPORT_SYMBOL(machine_halt);
149   -
150 146 void machine_power_off (void)
151 147 {
152 148 machine_halt ();
153 149 }
154   -
155   -EXPORT_SYMBOL(machine_power_off);
156 150  
157 151 /* Called before configuring an on-chip UART. */
158 152 void anna_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
arch/v850/kernel/as85ep1.c
... ... @@ -160,8 +160,6 @@
160 160 asm ("jmp r0"); /* Jump to the reset vector. */
161 161 }
162 162  
163   -EXPORT_SYMBOL(machine_restart);
164   -
165 163 void machine_halt (void)
166 164 {
167 165 #ifdef CONFIG_RESET_GUARD
168 166  
... ... @@ -173,14 +171,10 @@
173 171 asm ("halt; nop; nop; nop; nop; nop");
174 172 }
175 173  
176   -EXPORT_SYMBOL(machine_halt);
177   -
178 174 void machine_power_off (void)
179 175 {
180 176 machine_halt ();
181 177 }
182   -
183   -EXPORT_SYMBOL(machine_power_off);
184 178  
185 179 /* Called before configuring an on-chip UART. */
186 180 void as85ep1_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
arch/v850/kernel/fpga85e2c.c
... ... @@ -121,21 +121,15 @@
121 121 }
122 122 }
123 123  
124   -EXPORT_SYMBOL(machine_halt);
125   -
126 124 void machine_restart (char *__unused)
127 125 {
128 126 machine_halt ();
129 127 }
130 128  
131   -EXPORT_SYMBOL(machine_restart);
132   -
133 129 void machine_power_off (void)
134 130 {
135 131 machine_halt ();
136 132 }
137   -
138   -EXPORT_SYMBOL(machine_power_off);
139 133  
140 134  
141 135 /* Interrupts */
arch/v850/kernel/rte_cb.c
... ... @@ -67,8 +67,6 @@
67 67 asm ("jmp r0"); /* Jump to the reset vector. */
68 68 }
69 69  
70   -EXPORT_SYMBOL(machine_restart);
71   -
72 70 /* This says `HALt.' in LEDese. */
73 71 static unsigned char halt_leds_msg[] = { 0x76, 0x77, 0x38, 0xF8 };
74 72  
75 73  
... ... @@ -89,14 +87,10 @@
89 87 asm ("halt; nop; nop; nop; nop; nop");
90 88 }
91 89  
92   -EXPORT_SYMBOL(machine_halt);
93   -
94 90 void machine_power_off (void)
95 91 {
96 92 machine_halt ();
97 93 }
98   -
99   -EXPORT_SYMBOL(machine_power_off);
100 94  
101 95  
102 96 /* Animated LED display for timer tick. */
arch/v850/kernel/sim.c
... ... @@ -104,23 +104,17 @@
104 104 V850_SIM_SYSCALL (exit, 0);
105 105 }
106 106  
107   -EXPORT_SYMBOL(machine_restart);
108   -
109 107 void machine_halt (void)
110 108 {
111 109 V850_SIM_SYSCALL (write, 1, "HALT\n", 5);
112 110 V850_SIM_SYSCALL (exit, 0);
113 111 }
114 112  
115   -EXPORT_SYMBOL(machine_halt);
116   -
117 113 void machine_power_off (void)
118 114 {
119 115 V850_SIM_SYSCALL (write, 1, "POWER OFF\n", 10);
120 116 V850_SIM_SYSCALL (exit, 0);
121 117 }
122   -
123   -EXPORT_SYMBOL(machine_power_off);
124 118  
125 119  
126 120 /* Load data from a file called NAME into ram. The address and length
arch/v850/kernel/sim85e2.c
... ... @@ -184,19 +184,13 @@
184 184 for (;;) {}
185 185 }
186 186  
187   -EXPORT_SYMBOL(machine_halt);
188   -
189 187 void machine_restart (char *__unused)
190 188 {
191 189 machine_halt ();
192 190 }
193 191  
194   -EXPORT_SYMBOL(machine_restart);
195   -
196 192 void machine_power_off (void)
197 193 {
198 194 machine_halt ();
199 195 }
200   -
201   -EXPORT_SYMBOL(machine_power_off);
arch/x86_64/kernel/reboot.c
... ... @@ -150,19 +150,13 @@
150 150 }
151 151 }
152 152  
153   -EXPORT_SYMBOL(machine_restart);
154   -
155 153 void machine_halt(void)
156 154 {
157 155 }
158 156  
159   -EXPORT_SYMBOL(machine_halt);
160   -
161 157 void machine_power_off(void)
162 158 {
163 159 if (pm_power_off)
164 160 pm_power_off();
165 161 }
166   -
167   -EXPORT_SYMBOL(machine_power_off);