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 taking an 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> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
f31ad92f34
Коммит
05d81d2222
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче