diff options
author | Robin Getz <rgetz@blackfin.uclinux.org> | 2007-08-21 23:14:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-21 23:23:53 -0400 |
commit | cb00e99c0abd844b884c64c6b54aa3b7d345ebb1 (patch) | |
tree | f258d30a49f864abdf836b5b2be4ebb43d542e96 /kernel/printk.c | |
parent | 15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 (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>
Diffstat (limited to 'kernel/printk.c')
-rw-r--r-- | kernel/printk.c | 10 |
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 | ||
1086 | static int __init disable_boot_consoles(void) | 1086 | static 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 | } |