Zhengjun Xing
7fc65d4c2b
xhci: Fix Kernel oops in xhci dbgtty
tty_unregister_driver may be called more than 1 time in some
hotplug cases,it will cause the kernel oops. This patch checked
dbc_tty_driver to make sure it is unregistered only 1 time.
[ 175.741404] BUG: unable to handle kernel NULL pointer dereference at 0000000000000034
[ 175.742309] IP: tty_unregister_driver+0x9/0x70
[ 175.743148] PGD 0 P4D 0
[ 175.743981] Oops: 0000 [#1] SMP PTI
[ 175.753904] RIP: 0010:tty_unregister_driver+0x9/0x70
[ 175.754817] RSP: 0018:ffffa8ff831d3bb0 EFLAGS: 00010246
[ 175.755753] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[ 175.756685] RDX: ffff92089c616000 RSI: ffffe64fe1b26080 RDI: 0000000000000000
[ 175.757608] RBP: ffff92086c988230 R08: 000000006c982701 R09: 00000001801e0016
[ 175.758533] R10: ffffa8ff831d3b48 R11: ffff92086c982100 R12: ffff92086c98827c
[ 175.759462] R13: ffff92086c988398 R14: 0000000000000060 R15: ffff92089c5e9b40
[ 175.760401] FS: 0000000000000000(0000) GS:ffff9208a0100000(0000) knlGS:0000000000000000
[ 175.761334] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 175.762270] CR2: 0000000000000034 CR3: 000000011800a003 CR4: 00000000003606e0
[ 175.763225] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 175.764164] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 175.765091] Call Trace:
[ 175.766014] xhci_dbc_tty_unregister_driver+0x11/0x30
[ 175.766960] xhci_dbc_exit+0x2a/0x40
[ 175.767889] xhci_stop+0x57/0x1c0
[ 175.768824] usb_remove_hcd+0x100/0x250
[ 175.769708] usb_hcd_pci_remove+0x68/0x130
[ 175.770574] pci_device_remove+0x3b/0xc0
[ 175.771435] device_release_driver_internal+0x157/0x230
[ 175.772343] pci_stop_bus_device+0x74/0xa0
[ 175.773205] pci_stop_bus_device+0x2b/0xa0
[ 175.774061] pci_stop_bus_device+0x2b/0xa0
[ 175.774907] pci_stop_bus_device+0x2b/0xa0
[ 175.775741] pci_stop_bus_device+0x2b/0xa0
[ 175.776618] pci_stop_bus_device+0x2b/0xa0
[ 175.777452] pci_stop_bus_device+0x2b/0xa0
[ 175.778273] pci_stop_bus_device+0x2b/0xa0
[ 175.779092] pci_stop_bus_device+0x2b/0xa0
[ 175.779908] pci_stop_bus_device+0x2b/0xa0
[ 175.780750] pci_stop_bus_device+0x2b/0xa0
[ 175.781543] pci_stop_and_remove_bus_device+0xe/0x20
[ 175.782338] pciehp_unconfigure_device+0xb8/0x160
[ 175.783128] pciehp_disable_slot+0x4f/0xd0
[ 175.783920] pciehp_power_thread+0x82/0xa0
[ 175.784766] process_one_work+0x147/0x3c0
[ 175.785564] worker_thread+0x4a/0x440
[ 175.786376] kthread+0xf8/0x130
[ 175.787174] ? rescuer_thread+0x360/0x360
[ 175.787964] ? kthread_associate_blkcg+0x90/0x90
[ 175.788798] ret_from_fork+0x35/0x40
Cc: <stable@vger.kernel.org> # 4.16
Fixes: dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver")
Signed-off-by: Zhengjun Xing <zhengjun.xing@linux.intel.com>
Tested-by: Christian Kellner <christian@kellner.me>
Reviewed-by: Christian Kellner <christian@kellner.me>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-22 15:23:37 +02:00
..
2018-03-09 09:31:26 -08:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-28 15:17:48 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:43:52 -08:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-26 15:57:10 +02:00
2018-02-15 18:43:57 +01:00
2018-02-22 15:17:05 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-01-22 15:34:38 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:43:53 -08:00
2017-11-07 15:45:02 +01:00
2017-11-04 11:48:02 +01:00
2017-11-07 15:45:02 +01:00
2018-02-15 18:45:34 +01:00
2018-02-22 15:17:05 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-02-05 09:41:54 -08:00
2018-01-24 08:49:51 +01:00
2018-03-09 09:43:52 -08:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:31:25 -08:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-01-24 08:49:51 +01:00
2017-11-02 11:10:55 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:31:26 -08:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:31:26 -08:00
2017-11-02 11:10:55 +01:00
2017-11-07 15:52:29 +01:00
2018-03-26 15:57:14 +02:00
2018-04-04 17:55:35 -07:00
2018-03-22 13:40:10 +01:00
2017-11-04 11:48:02 +01:00
2017-11-04 11:48:02 +01:00
2018-01-09 16:15:19 +01:00
2017-11-04 11:48:02 +01:00
2017-11-07 15:45:02 +01:00
2018-04-02 20:20:12 -07:00
2018-02-15 18:43:57 +01:00
2017-11-04 11:48:02 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:43:52 -08:00
2017-11-04 11:48:02 +01:00
2018-03-09 09:43:53 -08:00
2017-11-04 11:48:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-04 11:48:02 +01:00
2018-02-15 18:45:34 +01:00
2017-11-04 11:48:02 +01:00
2017-11-04 11:48:02 +01:00
2017-11-04 11:48:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-04 11:48:02 +01:00
2017-11-21 15:57:07 -08:00
2017-11-02 11:10:55 +01:00
2018-02-15 18:36:19 +01:00
2018-02-15 18:36:19 +01:00
2017-11-21 15:57:07 -08:00
2017-11-07 15:45:02 +01:00
2017-11-04 11:48:02 +01:00
2018-03-16 15:40:19 +01:00
2017-11-02 11:10:55 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-04 17:03:15 +01:00
2018-01-17 15:08:56 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-17 15:08:56 +01:00
2017-12-12 13:16:07 +01:00
2017-12-08 17:43:52 +01:00
2018-03-08 09:06:53 -08:00
2017-12-08 17:43:52 +01:00
2018-04-22 15:23:37 +02:00
2018-02-15 18:36:19 +01:00
2017-11-07 15:53:48 +01:00
2018-03-22 13:40:10 +01:00
2018-03-22 13:40:10 +01:00
2018-02-15 18:36:19 +01:00
2018-03-16 15:40:18 +01:00
2017-11-07 15:45:02 +01:00
2018-03-09 09:43:53 -08:00
2018-01-09 16:21:28 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2018-04-20 16:24:20 +02:00
2018-04-22 14:45:12 +02:00
2017-11-07 15:45:02 +01:00
2018-03-08 10:07:44 -08:00
2017-11-07 15:45:02 +01:00
2018-03-16 15:40:19 +01:00
2017-11-07 15:45:02 +01:00
2017-11-07 15:45:02 +01:00
2017-12-08 17:43:53 +01:00
2018-03-20 09:56:08 +01:00
2018-04-20 16:24:20 +02:00