Skip to content
  • Tkhai Kirill's avatar
    sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline option · cb29529e
    Tkhai Kirill authored
    
    
    If a machine has X (X < 4) sunsu ports and cmdline
    option "console=ttySY" is passed, where X < Y <= 4,
    than the following panic happens:
    
    Unable to handle kernel NULL pointer dereference
    TPC: <sunsu_console_setup+0x78/0xe0>
    RPC: <sunsu_console_setup+0x74/0xe0>
    I7: <register_console+0x378/0x3e0>
    Call Trace:
     [0000000000453a38] register_console+0x378/0x3e0
     [0000000000576fa0] uart_add_one_port+0x2e0/0x340
     [000000000057af40] su_probe+0x160/0x2e0
     [00000000005b8a4c] platform_drv_probe+0xc/0x20
     [00000000005b6c2c] driver_probe_device+0x12c/0x220
     [00000000005b6da8] __driver_attach+0x88/0xa0
     [00000000005b4df4] bus_for_each_dev+0x54/0xa0
     [00000000005b5a54] bus_add_driver+0x154/0x260
     [00000000005b7190] driver_register+0x50/0x180
     [00000000006d250c] sunsu_init+0x18c/0x1e0
     [00000000006c2668] do_one_initcall+0xe8/0x160
     [00000000006c282c] kernel_init_freeable+0x12c/0x1e0
     [0000000000603764] kernel_init+0x4/0x100
     [0000000000405f64] ret_from_syscall+0x1c/0x2c
     [0000000000000000]           (null)
    
    1)Fix the panic;
    2)Increment registered port number every successful
    probe.
    
    Signed-off-by: default avatarKirill Tkhai <tkhai@yandex.ru>
    CC: David Miller <davem@davemloft.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cb29529e