From: Russell King Date: Thu, 30 Jun 2005 21:41:22 +0000 (+0100) Subject: [PATCH] Serial: Fix small CONFIG_SERIAL_8250_NR_UARTS X-Git-Tag: v2.6.13-rc2~36^2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44454bcdb90532b372c74e3546043d8a3a468939;p=linux-2.6 [PATCH] Serial: Fix small CONFIG_SERIAL_8250_NR_UARTS If CONFIG_SERIAL_8250_NR_UARTS is smaller than the array size in asm/serial.h, we trampled on memory which wasn't ours. Take our big boots away by limiting the number of ports initialised to the smaller of ...NR_UARTS and the array size. Signed-off-by: Russell King --- diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 9224fc3184..7e8fc7c1d4 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -2061,7 +2061,8 @@ static void __init serial8250_isa_init_ports(void) up->port.ops = &serial8250_pops; } - for (i = 0, up = serial8250_ports; i < ARRAY_SIZE(old_serial_port); + for (i = 0, up = serial8250_ports; + i < ARRAY_SIZE(old_serial_port) && i < UART_NR; i++, up++) { up->port.iobase = old_serial_port[i].port; up->port.irq = irq_canonicalize(old_serial_port[i].irq);