Messages in this thread Patch in this message | | | From | (Eric W. Biederman) | Date | Fri, 11 Jul 2008 13:37:14 -0700 | Subject | Re: [PATCH] serial8250: Sanity check nr_uarts on all paths. |
| |
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> Acked-by: Alan Cox <alan@redhat.com> ---
Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
> Added to ttydev tree but please fire straight at Linus in case he fancies > it for 2.6.26
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
| |