bisecting fixing commit since 5b7a52cd2eef952cee8a72512ef370bcdef46636 building syzkaller on a7aac492ebbc53e5c7bc4b5bbaf55f428c54093f testing commit 5b7a52cd2eef952cee8a72512ef370bcdef46636 with gcc (GCC) 8.4.1 20210217 kernel signature: cf723278a9855e2e898c4b04c33a1989bc888c38eafb9b3a819fc39e22595f04 run #0: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #1: crashed: BUG: unable to handle kernel run #2: crashed: BUG: unable to handle kernel run #3: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #4: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #5: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #6: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #7: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #8: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #9: crashed: BUG: unable to handle kernel run #10: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #11: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #12: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #13: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #14: crashed: BUG: unable to handle kernel run #15: crashed: BUG: unable to handle kernel run #16: crashed: BUG: unable to handle kernel run #17: crashed: BUG: unable to handle kernel NULL pointer dereference in vhci_shutdown_connection run #18: crashed: INFO: task hung in hub_port_init run #19: crashed: INFO: task hung in hub_port_init testing current HEAD 670d6552eda8ff0c5f396d3d6f0174237917c66c testing commit 670d6552eda8ff0c5f396d3d6f0174237917c66c with gcc (GCC) 8.4.1 20210217 kernel signature: b74293139b94d2e9aedf7175b494ae11ece8062c5d463419415eaa7db3e1ec41 run #0: crashed: general protection fault in try_to_wake_up run #1: crashed: general protection fault in try_to_wake_up run #2: crashed: general protection fault in try_to_wake_up run #3: crashed: general protection fault in try_to_wake_up run #4: crashed: INFO: task hung in hub_port_init run #5: crashed: INFO: task hung in hub_port_init run #6: crashed: INFO: task hung in hub_port_init run #7: crashed: INFO: task hung in hub_port_init run #8: crashed: general protection fault in try_to_wake_up run #9: crashed: INFO: task hung in hub_port_init revisions tested: 2, total time: 30m35.221578104s (build: 14m11.807927402s, test: 15m55.255448192s) the crash still happens on HEAD commit msg: Linux 4.14.227 crash: INFO: task hung in hub_port_init vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used INFO: task kworker/1:4:7464 blocked for more than 140 seconds. vhci_hcd: connection closed vhci_hcd: connection closed vhci_hcd: release socket Not tainted 4.14.227-syzkaller #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: pdev(5) rhport(0) sockfd(3) vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used kworker/1:4 D vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: release socket 27816 7464 2 0x80000000 vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used Workqueue: usb_hub_wq hub_event vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: pdev(5) rhport(1) sockfd(3) vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 3 already used Call Trace: vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: pdev(5) rhport(3) sockfd(5) vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used context_switch kernel/sched/core.c:2808 [inline] __schedule+0x824/0x1ee0 kernel/sched/core.c:3384 vhci_hcd: disconnect device vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: connection closed vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: disconnect device vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used schedule+0x7f/0x1b0 kernel/sched/core.c:3428 vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: pdev(0) rhport(1) sockfd(3) vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used schedule_preempt_disabled+0x13/0x20 kernel/sched/core.c:3486 vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: connection closed __mutex_lock_common kernel/locking/mutex.c:833 [inline] __mutex_lock+0x519/0x1490 kernel/locking/mutex.c:893 vhci_hcd: disconnect device vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: pdev(4) rhport(0) sockfd(3) vhci_hcd: release socket vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: pdev(5) rhport(2) sockfd(3) vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: devid(0) speed(4) speed_str(wireless) vhci_hcd vhci_hcd.0: pdev(4) rhport(0) sockfd(6) vhci_hcd vhci_hcd.0: devid(0) speed(4) speed_str(wireless) vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: connection closed vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908 vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: pdev(4) rhport(1) sockfd(8) vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used hub_port_connect drivers/usb/core/hub.c:4905 [inline] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] port_event drivers/usb/core/hub.c:5194 [inline] hub_event+0xf3c/0x3740 drivers/usb/core/hub.c:5274 vhci_hcd: disconnect device vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: pdev(4) rhport(1) sockfd(3) vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: pdev(2) rhport(0) sockfd(5) vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: devid(0) speed(4) speed_str(wireless) vhci_hcd vhci_hcd.0: pdev(2) rhport(1) sockfd(8) process_one_work+0x74f/0x1620 kernel/workqueue.c:2116 vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: pdev(4) rhport(3) sockfd(7) vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) vhci_hcd: connection closed vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: connection closed vhci_hcd: connection closed vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 3 already used process_scheduled_works kernel/workqueue.c:2176 [inline] worker_thread+0x641/0xee0 kernel/workqueue.c:2252 vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used kthread+0x338/0x400 kernel/kthread.c:232 vhci_hcd: release socket vhci_hcd: unlink cleanup rx 45 vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: pdev(4) rhport(2) sockfd(3) vhci_hcd vhci_hcd.0: devid(0) speed(4) speed_str(wireless) vhci_hcd: unlink cleanup rx 44 vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: pdev(1) rhport(1) sockfd(5) vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) usb 9-1: device descriptor read/8, error -110 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 vhci_hcd: disconnect device Showing all locks held in the system: vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: stop threads vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: pdev(0) rhport(1) sockfd(9) vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) vhci_hcd: release socket 5 locks held by kworker/1:0/18: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 vhci_hcd: unlink cleanup rx 42 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 vhci_hcd: disconnect device #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 1 lock held by khungtaskd/1529: #0: (tasklist_lock){.+.+}, at: [] debug_show_all_locks+0x79/0x218 kernel/locking/lockdep.c:4548 5 locks held by kworker/1:2/3145: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:3/7463: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:4/7464: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/0:4/7466: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:5/9016: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/0:6/9095: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 2 locks held by kworker/u4:6/9123: #0: ("%s""usbip_event"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: (usbip_work){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 5 locks held by kworker/1:6/9396: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:8/9409: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:9/9736: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 5 locks held by kworker/1:10/14857: #0: ("usb_hub_wq"){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 #1: ((&hub->events)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 #2: (&dev->mutex){....}, at: [] device_lock include/linux/device.h:1081 [inline] #2: (&dev->mutex){....}, at: [] hub_event+0x125/0x3740 drivers/usb/core/hub.c:5220 #3: (&port_dev->status_lock){+.+.}, at: [] usb_lock_port drivers/usb/core/hub.c:2934 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect drivers/usb/core/hub.c:4904 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_port_connect_change drivers/usb/core/hub.c:5088 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] port_event drivers/usb/core/hub.c:5194 [inline] #3: (&port_dev->status_lock){+.+.}, at: [] hub_event+0xf21/0x3740 drivers/usb/core/hub.c:5274 #4: (hcd->address0_mutex){+.+.}, at: [] hub_port_init+0x145/0x26d0 drivers/usb/core/hub.c:4429 4 locks held by syz-executor016/18156: #0: (&f->f_pos_lock){+.+.}, at: [] __fdget_pos+0x8e/0xc0 fs/file.c:769 #1: (sb_writers#5){.+.+}, at: [] file_start_write include/linux/fs.h:2712 [inline] #1: (sb_writers#5){.+.+}, at: [] vfs_write+0x37c/0x4f0 fs/read_write.c:543 #2: (&of->mutex){+.+.}, at: [] kernfs_fop_write+0x1ab/0x410 fs/kernfs/file.c:307 #3: (kn->count#141){.+.+}, at: [] kernfs_fop_write+0x1ce/0x410 fs/kernfs/file.c:308 4 locks held by syz-executor016/18219: #0: (&f->f_pos_lock){+.+.}, at: [] __fdget_pos+0x8e/0xc0 fs/file.c:769 #1: (sb_writers#5){.+.+}, at: [] file_start_write include/linux/fs.h:2712 [inline] #1: (sb_writers#5){.+.+}, at: [] vfs_write+0x37c/0x4f0 fs/read_write.c:543 #2: (&of->mutex){+.+.}, at: [] kernfs_fop_write+0x1ab/0x410 fs/kernfs/file.c:307 #3: (kn->count#141){.+.+}, at: [] kernfs_fop_write+0x1ce/0x410 fs/kernfs/file.c:308 ============================================= usb 7-1: device descriptor read/8, error -110 usb 9-1: new SuperSpeed USB device number 30 using vhci_hcd vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd: release socket vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used usb 9-1: enqueue for inactive port 0 vhci_hcd vhci_hcd.0: pdev(2) rhport(0) sockfd(3) usb 9-1: enqueue for inactive port 0 vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd: release socket vhci_hcd vhci_hcd.0: pdev(3) rhport(0) sockfd(3) vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd: disconnect device vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: connection reset by peer vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: stop threads usb 7-1: new SuperSpeed USB device number 25 using vhci_hcd vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: pdev(1) rhport(0) sockfd(3) vhci_hcd vhci_hcd.0: devid(0) speed(5) speed_str(super-speed) vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: port 1 already used NMI backtrace for cpu 0 CPU: 0 PID: 1529 Comm: khungtaskd Not tainted 4.14.227-syzkaller #0 vhci_hcd: unlink cleanup rx 52 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: vhci_hcd vhci_hcd.0: port 0 already used __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x14b/0x1e7 lib/dump_stack.c:58 nmi_cpu_backtrace.cold.0+0x3c/0x78 lib/nmi_backtrace.c:101 nmi_trigger_cpumask_backtrace+0xf6/0x120 lib/nmi_backtrace.c:62 arch_trigger_cpumask_backtrace+0x14/0x20 arch/x86/kernel/apic/hw_nmi.c:38 trigger_all_cpu_backtrace include/linux/nmi.h:140 [inline] check_hung_uninterruptible_tasks kernel/hung_task.c:195 [inline] watchdog+0x51b/0xa70 kernel/hung_task.c:274 vhci_hcd: disconnect device vhci_hcd: stop threads kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Sending NMI from CPU 0 to CPUs 1: vhci_hcd: release socket NMI backtrace for cpu 1 CPU: 1 PID: 9123 Comm: kworker/u4:6 Not tainted 4.14.227-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: usbip_event event_handler task: ffff8881e68d0480 task.stack: ffff8881e5b78000 RIP: 0010:__read_once_size include/linux/compiler.h:183 [inline] RIP: 0010:lookup_chain_cache kernel/locking/lockdep.c:2361 [inline] RIP: 0010:lookup_chain_cache_add kernel/locking/lockdep.c:2381 [inline] RIP: 0010:validate_chain kernel/locking/lockdep.c:2435 [inline] RIP: 0010:__lock_acquire+0xbb5/0x42d0 kernel/locking/lockdep.c:3491 RSP: 0018:ffff8881f6507ac0 EFLAGS: 00000046 RAX: dffffc0000000000 RBX: 0000000060dd530a RCX: ffff8881e68d0d08 RDX: 1ffffffff154fe49 RSI: ffff8881e68d0d80 RDI: ffff8881e68d0da1 RBP: ffff8881f6507c90 R08: 0000000000001321 R09: ffffffff8aa7f248 R10: 0000000000000078 R11: ffff8881e68d0480 R12: 0000000085e6d0a6 R13: 0000000079e9cb83 R14: cd48adbbffd09c29 R15: ffff8881e68d0d80 FS: 0000000000000000(0000) GS:ffff8881f6500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fc3b120d000 CR3: 0000000008e6a001 CR4: 00000000001606e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: lock_acquire+0x17e/0x3e0 kernel/locking/lockdep.c:3998 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x99/0xd0 kernel/locking/spinlock.c:160 debug_object_deactivate lib/debugobjects.c:502 [inline] debug_object_deactivate+0xe1/0x300 lib/debugobjects.c:491 debug_hrtimer_deactivate kernel/time/hrtimer.c:406 [inline] debug_deactivate kernel/time/hrtimer.c:453 [inline] __run_hrtimer kernel/time/hrtimer.c:1193 [inline] __hrtimer_run_queues+0x1ba/0xad0 kernel/time/hrtimer.c:1287 hrtimer_interrupt+0x1ae/0x600 kernel/time/hrtimer.c:1321 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1079 [inline] smp_apic_timer_interrupt+0x11f/0x5d0 arch/x86/kernel/apic/apic.c:1104 apic_timer_interrupt+0x9a/0xa0 arch/x86/entry/entry_64.S:793 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline] RIP: 0010:console_trylock_spinning kernel/printk/printk.c:1685 [inline] RIP: 0010:vprintk_emit+0x42c/0x4e0 kernel/printk/printk.c:1922 RSP: 0018:ffff8881e5b7fb40 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff10 RAX: dffffc0000000000 RBX: 0000000000000286 RCX: 1ffff1103cd1a1aa RDX: 0000000000000000 RSI: ffff8881e68d0d30 RDI: 0000000000000286 RBP: ffff8881e5b7fb90 R08: ffff8881e68d0d50 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 1ffffffff11e10a0 R13: 1ffffffff11e10a2 R14: 0000000000000000 R15: 1ffffffff11e10a1 vprintk_default+0x1a/0x20 kernel/printk/printk.c:1963 vprintk_func+0x49/0x130 kernel/printk/printk_safe.c:409 printk+0x91/0xab kernel/printk/printk.c:1996 vhci_shutdown_connection.cold.8+0xdf/0x7d2 drivers/usb/usbip/vhci_hcd.c:1048 event_handler+0x193/0x3d0 drivers/usb/usbip/usbip_event.c:92 process_one_work+0x74f/0x1620 kernel/workqueue.c:2116 worker_thread+0xcc/0xee0 kernel/workqueue.c:2250 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Code: b5 80 46 86 c8 61 48 b8 00 00 00 00 00 fc ff df 4d 0f af c6 49 c1 e8 31 4e 8d 0c c5 40 59 a7 8a 4c 89 ca 48 c1 ea 03 80 3c 02 00 <0f> 85 20 2a 00 00 4a 8b 1c c5 40 59 a7 8a 48 85 db 0f 84 a6 00 vhci_hcd: connection reset by peer vhci_hcd: disconnect device vhci_hcd: connection closed vhci_hcd: stop threads vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: connection closed vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd: sendmsg failed!, ret=-32 for 48 vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd: release socket vhci_hcd vhci_hcd.0: port 0 already used vhci_hcd vhci_hcd.0: pdev(2) rhport(2) sockfd(3) vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: devid(0) speed(4) speed_str(wireless) vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used vhci_hcd vhci_hcd.0: port 2 already used vhci_hcd vhci_hcd.0: port 1 already used vhci_hcd vhci_hcd.0: port 3 already used