[Question] does there have another fix for ldisc crash instead of "tty: Fix ldisc crash on reopened tty" ?
From: Tan Xiaojun
Date: Wed Nov 29 2017 - 02:58:36 EST
Hi, all,
I test in a Arm64 fpga board (Hisilicon D06 fpga) with kernel-stable-4.14.2, then I get a panic log attached in the end.
I found this problem try to be fixed before by the patch "tty: Fix ldisc crash on reopened tty", and it was reverted
shortly thereafter because of conflicting with another patch and may not fix completely.
But this problem is still here. Are there any better fixed patch now ?
Thanks.
Xiaojun.
[44100.745418] Unable to handle kernel paging request at virtual address 00002260
[44100.758109] Mem abort info:
[44100.761956] Exception class = DABT (current EL), IL = 32 bits
[44100.768677] SET = 0, FnV = 0
[44100.772039] EA = 0, S1PTW = 0
[44100.775736] Data abort info:
[44100.779766] ISV = 0, ISS = 0x00000004
[44100.784425] CM = 0, WnR = 0
[44100.788179] user pgtable: 4k pages, 48-bit VAs, pgd = ffff8021a8b40000
[44100.795815] [0000000000002260] *pgd=0000000000000000
[44100.802390] Internal error: Oops: 96000004 [#1] SMP
[44100.808278] Modules linked in: rdma_test(OE) hns_roce_pci(OE) hns_roce(OE) debug_nic_mii(OE) rdma_ucm(OE) rdma_cm(OE) ib_cm(OE) i
w_cm(OE) ib_uverbs(OE) ib_core(OE) hns3_enet_ut(OE) hclge(OE) hnae3(OE) [last unloaded: rdma_test]
[44100.833620] CPU: 0 PID: 4680 Comm: kworker/u2:0 Tainted: G OE 4.14.0 #1
[44100.845099] Workqueue: events_unbound flush_to_ldisc
[44100.850594] task: ffff8021f266c200 task.stack: ffff00003bd28000
[44100.857556] PC is at n_tty_receive_buf_common+0x68/0xa08
[44100.863382] LR is at n_tty_receive_buf_common+0x54/0xa08
[44100.869091] pc : [<ffff0000086a45a8>] lr : [<ffff0000086a4594>] pstate: 80c00149
[44100.876787] sp : ffff00003bd2bc40
[44100.880411] x29: ffff00003bd2bc40 x28: ffff8021a3c47400
[44100.886332] x27: ffff00003c533cc8 x26: ffff000008e0c000
[44100.892170] x25: 0000000000000000 x24: ffff8021f266c200
[44100.897990] x23: 0000000000000000 x22: ffff8021a3c46c20
[44100.903841] x21: ffff8021a3c474c0 x20: 0000000000000003
[44100.909654] x19: 0000000000000000 x18: 0000000000000003
[44100.915482] x17: 0000ffffa0e0dca8 x16: 0000000000438170
[44100.921318] x15: 00003d27a0000000 x14: 00003d0900000000
[44100.927167] x13: 00000000000061a8 x12: 000000000000ac42
[44100.932979] x11: 0000000000000001 x10: 0000000000000c80
[44100.938788] x9 : ffff00003bd2bd40 x8 : ffff8021f266cee0
[44100.944592] x7 : ffff8021ad587e10 x6 : 0000000000000001
[44100.950446] x5 : ffff0000094d0ab0 x4 : 0000000000000001
[44100.956274] x3 : 0000000000000003 x2 : 0000000000000000
[44100.962056] x1 : 0000000000000000 x0 : 0000000000002260
[44100.968028] Process kworker/u2:0 (pid: 4680, stack limit = 0xffff00003bd28000)
[44100.975728] Call trace:
[44100.978848] Exception stack(0xffff00003bd2bb00 to 0xffff00003bd2bc40)
[44100.985988] bb00: 0000000000002260 0000000000000000 0000000000000000 0000000000000003
[44100.994293] bb20: 0000000000000001 ffff0000094d0ab0 0000000000000001 ffff8021ad587e10
[44101.002542] bb40: ffff8021f266cee0 ffff00003bd2bd40 0000000000000c80 0000000000000001
[44101.010813] bb60: 000000000000ac42 00000000000061a8 00003d0900000000 00003d27a0000000
[44101.019111] bb80: 0000000000438170 0000ffffa0e0dca8 0000000000000003 0000000000000000
[44101.027366] bba0: 0000000000000003 ffff8021a3c474c0 ffff8021a3c46c20 0000000000000000
[44101.035652] bbc0: ffff8021f266c200 0000000000000000 ffff000008e0c000 ffff00003c533cc8
[44101.043947] bbe0: ffff8021a3c47400 ffff00003bd2bc40 ffff0000086a4594 ffff00003bd2bc40
[44101.052252] bc00: ffff0000086a45a8 0000000080c00149 ffff00003bd2bc20 ffff000008c47aec
[44101.060464] bc20: ffffffffffffffff ffff0000086a4594 ffff00003bd2bc40 ffff0000086a45a8
[44101.068876] [<ffff0000086a45a8>] n_tty_receive_buf_common+0x68/0xa08
[44101.075722] [<ffff0000086a4f88>] n_tty_receive_buf2+0x40/0x50
[44101.081939] [<ffff0000086a76dc>] tty_ldisc_receive_buf+0x48/0xa0
[44101.088725] [<ffff0000086a8330>] tty_port_default_receive_buf+0x50/0x8c
[44101.095825] [<ffff0000086a7978>] flush_to_ldisc+0xc0/0xd4
[44101.103151] [<ffff0000080ebd70>] process_one_work+0x144/0x390
[44101.109367] [<ffff0000080ec100>] worker_thread+0x144/0x418
[44101.115489] [<ffff0000080f2c98>] kthread+0x10c/0x138
[44101.122129] [<ffff0000080855dc>] ret_from_fork+0x10/0x18
[44101.128234] Code: 911d6340 f90047a0 d2844c00 8b170000 (c8dffc03)
[44101.135955] ---[ end trace d1054bd4df5a813f ]---
[44101.141207] Kernel panic - not syncing: Fatal exception
[44101.147961] Kernel Offset: disabled
[44101.152249] CPU features: 0x000a18
[44101.156150] Memory Limit: none
[44101.159788] ---[ end Kernel panic - not syncing: Fatal exception