public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] serial8250: Sanity check nr_uarts on all paths.
@ 2008-07-11 19:30 Eric W. Biederman
  2008-07-11 20:05 ` Alan Cox
  2008-07-11 20:37 ` Eric W. Biederman
  0 siblings, 2 replies; 3+ messages in thread
From: Eric W. Biederman @ 2008-07-11 19:30 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, Alan Cox, Russell King, linux-serial, Bryan Wu



I had 8250.nr_uarts=16 in the boot line of a test kernel and I had a
weird mysterious crash in sysfs.  After an taking in depth look I realized
that CONFIG_SERIAL_8250_NR_UARTS was set to 4 and I was walking off
the end of the serial8250_ports array.

Ouch!!!

Don't let this happen to someone else.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
 drivers/serial/8250.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 1bc00b7..be95e55 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -2623,6 +2623,9 @@ static struct console serial8250_console = {
 
 static int __init serial8250_console_init(void)
 {
+	if (nr_uarts > UART_NR)
+		nr_uarts = UART_NR;
+
 	serial8250_isa_init_ports();
 	register_console(&serial8250_console);
 	return 0;
-- 
1.5.3.rc6.17.g1911


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-07-11 20:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-11 19:30 [PATCH] serial8250: Sanity check nr_uarts on all paths Eric W. Biederman
2008-07-11 20:05 ` Alan Cox
2008-07-11 20:37 ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox