[regression] tty console panic for 4.13-rcx
From: Shawn Lin
Date: Mon Aug 07 2017 - 00:01:04 EST
Hi,
I saw the log at the bottom and bisect the issue to the commits of
065ea0a7afd64d6c ("tty: improve tty_insert_flip_char() slow path")
979990c628481461 ("tty: improve tty_insert_flip_char() fast path")
I nearly could 100% reproduce this. Any thought?
[ 154.823106] Unable to handle kernel NULL pointer dereference at
virtual address 0000000d
[ 154.823885] user pgtable: 4k pages, 48-bit VAs, pgd = ffff800066e79000
[ 154.824464] [000000000000000d] *pgd=000000006768a003,
*pud=000000006a7da003, *pmd=00000000669c3003, *pte=0000000000000000
[ 154.825460] Internal error: Oops: 96000007 [#1] PREEMPT SMP
[ 154.825957] Modules linked in:
[ 154.826258] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
4.13.0-rc3-next-20170802-00002-gd66440a-dirty #112
[ 154.827091] Hardware name: Firefly-RK3399 Board (DT)
[ 154.827539] task: ffff200008f42b00 task.stack: ffff200008f30000
[ 154.828083] PC is at llist_del_first+0x8/0x74
[ 154.828481] LR is at __tty_buffer_request_room+0x114/0x148
[ 154.828972] pc : [<ffff2000083b813c>] lr : [<ffff200008549dfc>]
pstate: 600001c5
[ 154.829625] sp : ffff80007ef10d00
[ 154.829925] x29: ffff80007ef10d00 x28: ffff200008f42b00
[ 154.830409] x27: ffff200008cc7458 x26: ffff200008cc7430
[ 154.830892] x25: 0000000000000026 x24: 0000000000000000
[ 154.831373] x23: 0000000000000000 x22: 0000000000000001
[ 154.831854] x21: ffff80006b37b600 x20: 0000000000000100
[ 154.832337] x19: ffff80006a8a5840 x18: 0000000000000000
[ 154.832819] x17: 0000000000000000 x16: ffff20000821b398
[ 154.833300] x15: 0000000000000000 x14: 00003d0900007d00
[ 154.833781] x13: 0000000000017700 x12: 000000000000009a
[ 154.834263] x11: 7fffffffffffffff x10: 0000000000000002
[ 154.834744] x9 : 0000000300000000 x8 : 0000000000000000
[ 154.835225] x7 : 003d090000000000 x6 : 0000000000000000
[ 154.835706] x5 : 0000000000000100 x4 : 0000000000000200
[ 154.836187] x3 : 0000000000000001 x2 : 000000000000000d
[ 154.836668] x1 : 0000000000000200 x0 : ffff80006a8a58b0
[ 154.837153] Process swapper/0 (pid: 0, stack limit = 0xffff200008f30000)
[ 154.837750] Stack: (0xffff80007ef10d00 to 0xffff200008f34000)
[ 154.838261] Call trace:
[ 154.838493] Exception stack(0xffff80007ef10b30 to 0xffff80007ef10c60)
[ 154.839068] 0b20: ffff80006a8a5840
0001000000000000
[ 154.839766] 0b40: ffff80007ef10d00 ffff2000083b813c ffff800069219180
ffff80007ef1c968
[ 154.840464] 0b60: ffff80007ef10b70 ffff2000080f31d0 ffff80007ef10bf0
ffff2000080e7cf0
[ 154.841161] 0b80: ffff80007ef1c900 ffff80007ef1c900 0000000000000004
00000000000001c0
[ 154.841859] 0ba0: ffff80007ef1c900 ffff200008f39ba8 0000000000000000
0000000000000001
[ 154.842557] 0bc0: ffff80007ef10be0 ffff2000080e7e5c ffff80006a8a58b0
0000000000000200
[ 154.843252] 0be0: 000000000000000d 0000000000000001 0000000000000200
0000000000000100
[ 154.843949] 0c00: 0000000000000000 003d090000000000 0000000000000000
0000000300000000
[ 154.844645] 0c20: 0000000000000002 7fffffffffffffff 000000000000009a
0000000000017700
[ 154.845342] 0c40: 00003d0900007d00 0000000000000000 ffff20000821b398
0000000000000000
[ 154.846040] [<ffff2000083b813c>] llist_del_first+0x8/0x74
[ 154.846528] [<ffff200008549e74>] __tty_insert_flip_char+0x2c/0x78
[ 154.847076] [<ffff20000856376c>] uart_insert_char+0x54/0x13c
[ 154.847589] [<ffff200008567318>] serial8250_rx_chars+0x98/0x1e8
[ 154.848124] [<ffff200008569c60>] serial8250_handle_irq.part.23+0x70/0xec
[ 154.848725] [<ffff200008569cf0>] serial8250_handle_irq+0x14/0x24
[ 154.849264] [<ffff20000856f42c>] dw8250_handle_irq+0x40/0xfc
[ 154.849774] [<ffff200008565898>] serial8250_interrupt+0x6c/0xec
[ 154.850309] [<ffff200008112b80>] __handle_irq_event_percpu+0xa0/0x128
[ 154.850887] [<ffff200008112c24>] handle_irq_event_percpu+0x1c/0x54
[ 154.851442] [<ffff200008112ca0>] handle_irq_event+0x44/0x74
[ 154.851947] [<ffff2000081162ac>] handle_fasteoi_irq+0x9c/0x154
[ 154.852470] [<ffff200008111c40>] generic_handle_irq+0x24/0x38
[ 154.852986] [<ffff2000081122e4>] __handle_domain_irq+0x60/0xac
[ 154.853510] [<ffff200008081734>] gic_handle_irq+0xd4/0x17c
[ 154.854001] Exception stack(0xffff200008f33da0 to 0xffff200008f33ed0)
[ 154.854576] 3da0: 0000000000000000 0000000000000000 0000000000000001
0000000000000000
[ 154.855273] 3dc0: 0000000000000000 0000600075ff6000 0000000000000001
00000000ffffffff
[ 154.855970] 3de0: ffff200008f43560 ffff200008f33e50 0000000000000a00
0000000000000000
[ 154.856666] 3e00: 000000000000014f 00000000ffd42070 00000000f7934d7b
0000000000000000
[ 154.857365] 3e20: ffff20000821b398 0000000000000000 0000000000000000
ffff200008f17000
[ 154.858064] 3e40: ffff200008f39000 ffff200008f39000 ffff200008f25820
ffff200008f39e98
[ 154.858761] 3e60: 0000000000000000 0000000000000000 ffff200008f42b00
0000000000000000
[ 154.859458] 3e80: 0000000002e00018 ffff200008f33ed0 ffff2000080852ec
ffff200008f33ed0
[ 154.860156] 3ea0: ffff2000080852f0 0000000060000145 000000007df19878
000000007ffa7010
[ 154.860851] 3ec0: ffffffffffffffff ffff20000813744c
[ 154.861293] [<ffff200008082ff4>] el1_irq+0xb4/0x128
[ 154.861737] [<ffff2000080852f0>] arch_cpu_idle+0x10/0x18
[ 154.862222] [<ffff2000089c30fc>] default_idle_call+0x18/0x2c
[ 154.862735] [<ffff2000080fe890>] do_idle+0x170/0x1fc
[ 154.863187] [<ffff2000080feaa4>] cpu_startup_entry+0x1c/0x24
[ 154.863696] [<ffff2000089bd2cc>] rest_init+0xd8/0xe4
[ 154.864150] [<ffff200008e00b74>] start_kernel+0x390/0x3a4
[ 154.864638] [<ffff200008e001e8>] __primary_switched+0x6c/0x74
[ 154.865158] Code: 1a9f17e0 d65f03c0 c8dffc02 b4000302 (f9400043)
[ 154.865725] ---[ end trace ec455880abd1d512 ]---
[ 154.866141] Kernel panic - not syncing: Fatal exception in interrupt
[ 154.866717] SMP: stopping secondary CPUs
[ 154.867173] Kernel Offset: disabled
[ 154.867497] CPU features: 0x00200c
[ 154.867809] Memory Limit: none
[ 154.868095] ---[ end Kernel panic - not syncing: Fatal exception in
interrupt