Commit 44454bcd authored by Russell King's avatar Russell King Committed by Russell King

[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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 9b4311ee
...@@ -2061,7 +2061,8 @@ static void __init serial8250_isa_init_ports(void) ...@@ -2061,7 +2061,8 @@ static void __init serial8250_isa_init_ports(void)
up->port.ops = &serial8250_pops; 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++) { i++, up++) {
up->port.iobase = old_serial_port[i].port; up->port.iobase = old_serial_port[i].port;
up->port.irq = irq_canonicalize(old_serial_port[i].irq); up->port.irq = irq_canonicalize(old_serial_port[i].irq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment