[PATCH] Don't export machine_restart, machine_halt, or machine_power_off.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 26 Jul 2005 17:36:01 +0000 (11:36 -0600)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Jul 2005 21:35:42 +0000 (14:35 -0700)
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>
29 files changed:
arch/alpha/kernel/process.c
arch/arm/kernel/process.c
arch/arm26/kernel/process.c
arch/cris/kernel/process.c
arch/h8300/kernel/process.c
arch/i386/kernel/reboot.c
arch/i386/mach-visws/reboot.c
arch/i386/mach-voyager/voyager_basic.c
arch/ia64/kernel/process.c
arch/m32r/kernel/process.c
arch/m68k/kernel/process.c
arch/m68knommu/kernel/process.c
arch/mips/kernel/reset.c
arch/parisc/kernel/process.c
arch/ppc/kernel/setup.c
arch/ppc64/kernel/setup.c
arch/s390/kernel/setup.c
arch/sh/kernel/process.c
arch/sparc/kernel/process.c
arch/sparc64/kernel/power.c
arch/sparc64/kernel/process.c
arch/um/kernel/reboot.c
arch/v850/kernel/anna.c
arch/v850/kernel/as85ep1.c
arch/v850/kernel/fpga85e2c.c
arch/v850/kernel/rte_cb.c
arch/v850/kernel/sim.c
arch/v850/kernel/sim85e2.c
arch/x86_64/kernel/reboot.c

index 4933f3ce58339c182897fe08d25f4e329083cae4..fa98dae3cd986dc323132a0ad2f0bd205ea7c9a4 100644 (file)
@@ -165,7 +165,6 @@ machine_restart(char *restart_cmd)
        common_shutdown(LINUX_REBOOT_CMD_RESTART, restart_cmd);
 }
 
-EXPORT_SYMBOL(machine_restart);
 
 void
 machine_halt(void)
@@ -173,7 +172,6 @@ machine_halt(void)
        common_shutdown(LINUX_REBOOT_CMD_HALT, NULL);
 }
 
-EXPORT_SYMBOL(machine_halt);
 
 void
 machine_power_off(void)
@@ -181,7 +179,6 @@ machine_power_off(void)
        common_shutdown(LINUX_REBOOT_CMD_POWER_OFF, NULL);
 }
 
-EXPORT_SYMBOL(machine_power_off);
 
 /* Used by sysrq-p, among others.  I don't believe r9-r15 are ever
    saved in the context it's used.  */
index bbea636ff687a57feb1e2a5f240e5f0726485b7a..409db6d5ec9994b53a729f755435d3aa518e3aad 100644 (file)
@@ -131,7 +131,6 @@ void machine_halt(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
 
 void machine_power_off(void)
 {
@@ -139,7 +138,6 @@ void machine_power_off(void)
                pm_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
 
 void machine_restart(char * __unused)
 {
@@ -169,8 +167,6 @@ void machine_restart(char * __unused)
        while (1);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void __show_regs(struct pt_regs *regs)
 {
        unsigned long flags = condition_codes(regs);
index 46aea6ac194d5e015389c77ae941b0901bde29d0..9eb9964d32a7368c0b71c53015c75a7e58626f48 100644 (file)
@@ -103,9 +103,6 @@ void machine_power_off(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
-EXPORT_SYMBOL(machine_power_off);
-
 void machine_restart(char * __unused)
 {
        /*
@@ -136,8 +133,6 @@ void machine_restart(char * __unused)
        while (1);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void show_regs(struct pt_regs * regs)
 {
        unsigned long flags;
index 7645c4d4de6feeadaf2d36885056df1399f69a8c..a5ad2b6758530fc2fda8dae4510e90e3c098cb6f 100644 (file)
@@ -214,8 +214,6 @@ void machine_restart(char *cmd)
        hard_reset_now();
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 /*
  * Similar to machine_power_off, but don't shut off power.  Add code
  * here to freeze the system for e.g. post-mortem debug purpose when
@@ -226,16 +224,12 @@ void machine_halt(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 /* If or when software power-off is implemented, add code here.  */
 
 void machine_power_off(void)
 {
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 /*
  * When a process does an "exec", machine state like FPU and debug
  * registers need to be reset.  This is a hook function for that.
index b5f83e9f04db63eb1013267b65f94a891432e375..27f1fce64ce465026ee90c0cffd2e25717843075 100644 (file)
@@ -90,8 +90,6 @@ void machine_restart(char * __unused)
        __asm__("jmp @@0"); 
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        local_irq_disable();
@@ -99,8 +97,6 @@ void machine_halt(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        local_irq_disable();
@@ -108,8 +104,6 @@ void machine_power_off(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void show_regs(struct pt_regs * regs)
 {
        printk("\nPC: %08lx  Status: %02x",
index b3e584849961e79872a92b6518ab15c47071e797..1b24bc7271af165730ae48e7c8c91783fd040d23 100644 (file)
@@ -337,14 +337,10 @@ void machine_restart(char * __unused)
        machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        lapic_shutdown();
@@ -355,5 +351,4 @@ void machine_power_off(void)
                pm_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
 
index 95e4676594e1e0c05d9e181821533a016e3a28da..9e9296676f931dfc2831f40c127933d2f772badf 100644 (file)
@@ -22,8 +22,6 @@ void machine_restart(char * __unused)
        outb(PIIX4_RESET_VAL, PIIX4_RESET_PORT);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off(void)
 {
        unsigned short pm_status;
@@ -43,10 +41,7 @@ void machine_power_off(void)
        outl(PIIX_SPECIAL_STOP, 0xCFC);
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void machine_halt(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
index 8680080a6a8916a713d267b6b772a835e1ed8d17..b3eda46e0fe9d4e1a02cfc8e90c9e29b7abd1e94 100644 (file)
@@ -278,8 +278,6 @@ machine_restart(char *cmd)
        }
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void
 mca_nmi_hook(void)
 {
@@ -315,12 +313,9 @@ machine_halt(void)
        machine_power_off();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
index e484910246ad7998d3818b1e6b13a7df91de23de..66e8406098080343da5fa91e3f1b860d7e6ee5d7 100644 (file)
@@ -807,16 +807,12 @@ machine_restart (char *restart_cmd)
        (*efi.reset_system)(EFI_RESET_WARM, 0, 0, NULL);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void
 machine_halt (void)
 {
        cpu_halt();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void
 machine_power_off (void)
 {
@@ -825,4 +821,3 @@ machine_power_off (void)
        machine_halt();
 }
 
-EXPORT_SYMBOL(machine_power_off);
index b556c3cf6495c4eb8a05dc580f943fd5f52e2de0..ea13a8f4d8b05aadc691f010435b6fa6ef751a91 100644 (file)
@@ -115,8 +115,6 @@ void machine_restart(char *__unused)
                cpu_relax();
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        printk("Please push reset button!\n");
@@ -124,15 +122,11 @@ void machine_halt(void)
                cpu_relax();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        /* M32R_FIXME */
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 static int __init idle_setup (char *str)
 {
        if (!strncmp(str, "poll", 4)) {
index 93b043e2a4359985b80ab1890135ccc1e57351dc..11b1b90ba6ba49d4dc193517921fd88a5fe84a9f 100644 (file)
@@ -113,8 +113,6 @@ void machine_restart(char * __unused)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        if (mach_halt)
@@ -122,8 +120,6 @@ void machine_halt(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        if (mach_power_off)
@@ -131,8 +127,6 @@ void machine_power_off(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index c4a33f265dc07e53577350d5366b3a936c8bc665..82e7ec8888064589dcf642e336f11d32e209dd0b 100644 (file)
@@ -80,8 +80,6 @@ void machine_restart(char * __unused)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        if (mach_halt)
@@ -89,8 +87,6 @@ void machine_halt(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        if (mach_power_off)
@@ -98,8 +94,6 @@ void machine_power_off(void)
        for (;;);
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void show_regs(struct pt_regs * regs)
 {
        printk(KERN_NOTICE "\n");
index 7e0a9821931ad30d27c813db7d58a5f7778a7bab..ae2ba67b7ef61f1054f8f5f19f625d3f78b5f6ed 100644 (file)
@@ -26,18 +26,13 @@ void machine_restart(char *command)
        _machine_restart(command);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        _machine_halt();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        _machine_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
index 46e4a6881f11cca2d7dc77ae1e7b71b02b15241a..4fc04501d5e5d9c9752d7573b47775cfdc4cd539 100644 (file)
@@ -150,8 +150,6 @@ void machine_restart(char *cmd)
 
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        /*
@@ -160,8 +158,6 @@ void machine_halt(void)
        */
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 
 /*
  * This routine is called from sys_reboot to actually turn off the
@@ -187,8 +183,6 @@ void machine_power_off(void)
               KERN_EMERG "Please power this system off now.");
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 
 /*
  * Create a kernel thread
index c42f753269396ff297e02669004e3c126a921f26..929e5d1cc7fea145ecffdd2e6968b929dde1ebd6 100644 (file)
@@ -121,8 +121,6 @@ void machine_restart(char *cmd)
        ppc_md.restart(cmd);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off(void)
 {
 #ifdef CONFIG_NVRAM
@@ -131,8 +129,6 @@ void machine_power_off(void)
        ppc_md.power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void machine_halt(void)
 {
 #ifdef CONFIG_NVRAM
@@ -141,8 +137,6 @@ void machine_halt(void)
        ppc_md.halt();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void (*pm_power_off)(void) = machine_power_off;
 
 #ifdef CONFIG_TAU
index d1b33f0b26cb12261712d00b8e203cf9e7d24129..e80f10c89824c2874c8007d2d6914391a5a8bfbf 100644 (file)
@@ -694,7 +694,6 @@ void machine_restart(char *cmd)
        local_irq_disable();
        while (1) ;
 }
-EXPORT_SYMBOL(machine_restart);
 
 void machine_power_off(void)
 {
@@ -707,7 +706,6 @@ void machine_power_off(void)
        local_irq_disable();
        while (1) ;
 }
-EXPORT_SYMBOL(machine_power_off);
 
 void machine_halt(void)
 {
@@ -720,7 +718,6 @@ void machine_halt(void)
        local_irq_disable();
        while (1) ;
 }
-EXPORT_SYMBOL(machine_halt);
 
 static int ppc64_panic_event(struct notifier_block *this,
                              unsigned long event, void *ptr)
index b6d740ac0e6eedb8f0d1d7255b4d872463acc702..a12183989a79b8e461df14b380ecacaf950fe018 100644 (file)
@@ -299,24 +299,18 @@ void machine_restart(char *command)
        _machine_restart(command);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
        console_unblank();
        _machine_halt();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        console_unblank();
        _machine_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 static void __init
 add_memory_hole(unsigned long start, unsigned long end)
 {
index 3d024590c24e8f34c185ecd49a13b5ec547ba6ae..6dce9d0b81f8b8d53d4ac78378e4af0c5cbd82db 100644 (file)
@@ -80,8 +80,6 @@ void machine_restart(char * __unused)
                     "mov.l @%1, %0" : : "r" (0x10000000), "r" (0x80000001));
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
 #if defined(CONFIG_SH_HS7751RVOIP)
@@ -96,8 +94,6 @@ void machine_halt(void)
                cpu_sleep();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
 #if defined(CONFIG_SH_HS7751RVOIP)
@@ -110,8 +106,6 @@ void machine_power_off(void)
 #endif
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");
index 2c216ffeea90b61535eae1cd37d07b7f9acdb479..29e72b57d4fd2cee97e6e9bc8b8ed63812c448f5 100644 (file)
@@ -158,8 +158,6 @@ void machine_halt(void)
        panic("Halt failed!");
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_restart(char * cmd)
 {
        char *p;
@@ -180,8 +178,6 @@ void machine_restart(char * cmd)
        panic("Reboot failed!");
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off(void)
 {
 #ifdef CONFIG_SUN_AUXIO
@@ -191,8 +187,6 @@ void machine_power_off(void)
        machine_halt();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 static DEFINE_SPINLOCK(sparc_backtrace_lock);
 
 void __show_backtrace(unsigned long fp)
index 533104c7907d970994d3363eaa79b2126e327d8c..946cee0257ea2dc34fe25350fc71910b235dfc7c 100644 (file)
@@ -69,8 +69,6 @@ void machine_power_off(void)
        machine_halt();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 #ifdef CONFIG_PCI
 static int powerd(void *__unused)
 {
index cffb1c8ab4fc4adb071e288954e6b95be9adf7cd..07424b075938b7651e53380cddcf712c42b324e0 100644 (file)
@@ -124,8 +124,6 @@ void machine_halt(void)
        panic("Halt failed!");
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_alt_power_off(void)
 {
        if (!serial_console && prom_palette)
@@ -154,8 +152,6 @@ void machine_restart(char * cmd)
        panic("Reboot failed!");
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 static void show_regwindow32(struct pt_regs *regs)
 {
        struct reg_window32 __user *rw;
index fcec51da1d3771abe84944ca1138853417df6bec..a637e885c5835cb7c78e31c6d40099f8473c448c 100644 (file)
@@ -49,23 +49,17 @@ void machine_restart(char * __unused)
        CHOOSE_MODE(reboot_tt(), reboot_skas());
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off(void)
 {
         uml_cleanup();
        CHOOSE_MODE(halt_tt(), halt_skas());
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 void machine_halt(void)
 {
        machine_power_off();
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 /*
  * Overrides for Emacs so that we follow Linus's tabbing style.
  * Emacs will notice this stuff at the end of the file and automatically
index 6aaeab5e8a4047c209da9e6815410ce071cde1cc..d0502e14243707489d895fd73a1b225dc16d696c 100644 (file)
@@ -132,8 +132,6 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt (void)
 {
 #ifdef CONFIG_RESET_GUARD
@@ -145,15 +143,11 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 /* Called before configuring an on-chip UART.  */
 void anna_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
 {
index 4059b1df11b57431c99d6e7b3f1ec0d273f7bb94..d78c5e4ea9bca4014e1d08dcd567634ac32f2d7b 100644 (file)
@@ -160,8 +160,6 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt (void)
 {
 #ifdef CONFIG_RESET_GUARD
@@ -173,15 +171,11 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 /* Called before configuring an on-chip UART.  */
 void as85ep1_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud)
 {
index 4bac5149b3c25dd1ddd0fae88670f5acfca3c4df..d8094519ad85efac9a4a6ef9e51177362988c340 100644 (file)
@@ -121,22 +121,16 @@ void machine_halt (void)
        }
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_restart (char *__unused)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 \f
 /* Interrupts */
 
index 7ba397f77aca136c4c87f9ad66703e3f7568dfff..0c794b9e0f9b8c1187eed1d2b9e43a3f8f4e2066 100644 (file)
@@ -67,8 +67,6 @@ void machine_restart (char *__unused)
        asm ("jmp r0"); /* Jump to the reset vector.  */
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 /* This says `HALt.' in LEDese.  */
 static unsigned char halt_leds_msg[] = { 0x76, 0x77, 0x38, 0xF8 };
 
@@ -89,15 +87,11 @@ void machine_halt (void)
                asm ("halt; nop; nop; nop; nop; nop");
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 \f
 /* Animated LED display for timer tick.  */
 
index 4f31da96263277a6af51f58de67183cd4cb29ff2..e2cc5580fa2a1eb9191962261857388698dbbf06 100644 (file)
@@ -104,24 +104,18 @@ void machine_restart (char *__unused)
        V850_SIM_SYSCALL (exit, 0);
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt (void)
 {
        V850_SIM_SYSCALL (write, 1, "HALT\n", 5);
        V850_SIM_SYSCALL (exit, 0);
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off (void)
 {
        V850_SIM_SYSCALL (write, 1, "POWER OFF\n", 10);
        V850_SIM_SYSCALL (exit, 0);
 }
 
-EXPORT_SYMBOL(machine_power_off);
-
 \f
 /* Load data from a file called NAME into ram.  The address and length
    of the data image are returned in ADDR and LEN.  */
index 93a722b516bb1b2389fe37b35c7455970881d71b..9111613fb53a332dd1605f0921c64e4b529fdf76 100644 (file)
@@ -184,18 +184,13 @@ void machine_halt (void)
        for (;;) {}
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_restart (char *__unused)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_power_off (void)
 {
        machine_halt ();
 }
 
-EXPORT_SYMBOL(machine_power_off);
index 57e71dbdfd69952732a24fa8c4ac54a234e49d80..0515d32666342dcd9acb7fedbb3dc5eef265caa0 100644 (file)
@@ -150,18 +150,13 @@ void machine_restart(char * __unused)
        }      
 }
 
-EXPORT_SYMBOL(machine_restart);
-
 void machine_halt(void)
 {
 }
 
-EXPORT_SYMBOL(machine_halt);
-
 void machine_power_off(void)
 {
        if (pm_power_off)
                pm_power_off();
 }
 
-EXPORT_SYMBOL(machine_power_off);