lkml.org 
[lkml]   [2005]   [Nov]   [23]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
Patch in this message
/
Subject[PATCH] Fix crash in unregister_console()
FromBenjamin Herrenschmidt <>
DateWed, 23 Nov 2005 17:47:11 +1100
If unregister_console() is inadvertently called while no consoles are
registered, it will crash trying to dereference NULL pointer. It is
necessary to fix that because register_console() provides no indication
that it actually registered the console passed in. In fact, it may well
decide not to register it based on various things...

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Index: linux-serialfix/kernel/printk.c
===================================================================
--- linux-serialfix.orig/kernel/printk.c	2005-11-15 11:54:14.000000000 +1100
+++ linux-serialfix/kernel/printk.c	2005-11-23 17:47:11.000000000 +1100
@@ -956,7 +956,7 @@ int unregister_console(struct console *c
 	if (console_drivers == console) {
 		console_drivers=console->next;
 		res = 0;
-	} else {
+	} else if (console_drivers) {
 		for (a=console_drivers->next, b=console_drivers ;
 		     a; b=a, a=b->next) {
 			if (a == console) {

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-11-23 06:52    [W:0.573 / U:0.030 seconds]
©2003-2008 Jasper Spaans