aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Getz <rgetz@blackfin.uclinux.org>2007-08-21 23:14:58 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-08-21 23:23:53 -0400
commitcb00e99c0abd844b884c64c6b54aa3b7d345ebb1 (patch)
treef258d30a49f864abdf836b5b2be4ebb43d542e96
parent15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 (diff)
fix - ensure we don't use bootconsoles after init has been released
Gerd Hoffmann pointed out that my patch from yesterday can lead to a null pointer dereference if the kernel is booted with no console, and no earlyprintk defined. This fixes that issue. Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/printk.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/printk.c b/kernel/printk.c
index 5c7c325b29cc..8451dfc31d25 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1085,10 +1085,12 @@ EXPORT_SYMBOL(unregister_console);
1085 1085
1086static int __init disable_boot_consoles(void) 1086static int __init disable_boot_consoles(void)
1087{ 1087{
1088 if (console_drivers->flags & CON_BOOT) { 1088 if (console_drivers != NULL) {
1089 printk(KERN_INFO "turn off boot console %s%d\n", 1089 if (console_drivers->flags & CON_BOOT) {
1090 console_drivers->name, console_drivers->index); 1090 printk(KERN_INFO "turn off boot console %s%d\n",
1091 return unregister_console(console_drivers); 1091 console_drivers->name, console_drivers->index);
1092 return unregister_console(console_drivers);
1093 }
1092 } 1094 }
1093 return 0; 1095 return 0;
1094} 1096}