input: syz0 as /devices/virtual/input/input37 ================================ WARNING: inconsistent lock state 4.14.193-syzkaller #0 Not tainted -------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. kworker/1:3/7389 [HC0[0]:SC0[0]:HE1:SE1] takes: (slock-AF_BLUETOOTH-BTPROTO_SCO){+.?.}, at: [] spin_lock include/linux/spinlock.h:317 [inline] (slock-AF_BLUETOOTH-BTPROTO_SCO){+.?.}, at: [] sco_conn_del+0xb0/0x1e0 net/bluetooth/sco.c:175 {IN-SOFTIRQ-W} state was registered at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:152 spin_lock include/linux/spinlock.h:317 [inline] sco_sock_timeout+0x1a/0x150 net/bluetooth/sco.c:82 call_timer_fn+0x14a/0x650 kernel/time/timer.c:1280 expire_timers+0x232/0x4d0 kernel/time/timer.c:1319 __run_timers kernel/time/timer.c:1644 [inline] run_timer_softirq+0x1d5/0x5a0 kernel/time/timer.c:1657 __do_softirq+0x254/0xa1d kernel/softirq.c:288 invoke_softirq kernel/softirq.c:368 [inline] irq_exit+0x193/0x240 kernel/softirq.c:409 exiting_irq arch/x86/include/asm/apic.h:648 [inline] smp_apic_timer_interrupt+0x141/0x5e0 arch/x86/kernel/apic/apic.c:1102 apic_timer_interrupt+0x93/0xa0 arch/x86/entry/entry_64.S:793 deref_stack_reg+0x28/0x1a0 arch/x86/kernel/unwind_orc.c:292 unwind_next_frame+0xc98/0x17d0 arch/x86/kernel/unwind_orc.c:432 __save_stack_trace+0x90/0x160 arch/x86/kernel/stacktrace.c:44 save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xeb/0x160 mm/kasan/kasan.c:551 __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node_track_caller+0x4c/0x70 mm/slab.c:3696 __kmalloc_reserve net/core/skbuff.c:137 [inline] __alloc_skb+0x96/0x510 net/core/skbuff.c:205 alloc_skb include/linux/skbuff.h:980 [inline] nlmsg_new include/net/netlink.h:511 [inline] audit_buffer_alloc kernel/audit.c:1639 [inline] audit_log_start.part.0+0x233/0x650 kernel/audit.c:1753 audit_log_start+0x45/0x70 kernel/audit.c:1713 __audit_seccomp+0x2d/0x220 kernel/auditsc.c:2451 audit_seccomp include/linux/audit.h:318 [inline] seccomp_log kernel/seccomp.c:607 [inline] __seccomp_filter+0x2c9/0xd60 kernel/seccomp.c:770 __secure_computing+0xdd/0x3e0 kernel/seccomp.c:798 syscall_trace_enter+0x359/0xc20 arch/x86/entry/common.c:121 do_syscall_64+0x41b/0x640 arch/x86/entry/common.c:283 entry_SYSCALL_64_after_hwframe+0x46/0xbb irq event stamp: 583525 hardirqs last enabled at (583525): [] kfree+0x14a/0x250 mm/slab.c:3816 hardirqs last disabled at (583524): [] kfree+0x6f/0x250 mm/slab.c:3809 softirqs last enabled at (583346): [] spin_unlock_bh include/linux/spinlock.h:362 [inline] softirqs last enabled at (583346): [] peernet2id+0x60/0x70 net/core/net_namespace.c:245 softirqs last disabled at (583344): [] spin_lock_bh include/linux/spinlock.h:322 [inline] softirqs last disabled at (583344): [] peernet2id+0x20/0x70 net/core/net_namespace.c:243 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_BLUETOOTH-BTPROTO_SCO); lock(slock-AF_BLUETOOTH-BTPROTO_SCO); *** DEADLOCK *** 6 locks held by kworker/1:3/7389: #0: ("events"){+.+.}, at: [] process_one_work+0x6b0/0x14a0 kernel/workqueue.c:2087 #1: ((rfkill_op_work).work){+.+.}, at: [] process_one_work+0x6e6/0x14a0 kernel/workqueue.c:2091 #2: (rfkill_global_mutex){+.+.}, at: [] rfkill_epo+0x2f/0x130 net/rfkill/core.c:442 #3: (&hdev->req_lock){+.+.}, at: [] hci_dev_do_close+0xfd/0xc50 net/bluetooth/hci_core.c:1576 #4: (&hdev->lock){+.+.}, at: [] hci_dev_do_close+0x210/0xc50 net/bluetooth/hci_core.c:1607 #5: (hci_cb_list_lock){+.+.}, at: [] hci_disconn_cfm include/net/bluetooth/hci_core.h:1223 [inline] #5: (hci_cb_list_lock){+.+.}, at: [] hci_conn_hash_flush+0xc7/0x220 net/bluetooth/hci_conn.c:1376 stack backtrace: CPU: 1 PID: 7389 Comm: kworker/1:3 Not tainted 4.14.193-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events rfkill_op_handler Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x1b2/0x283 lib/dump_stack.c:58 print_usage_bug.cold+0x42e/0x570 kernel/locking/lockdep.c:2589 valid_state kernel/locking/lockdep.c:2602 [inline] mark_lock_irq kernel/locking/lockdep.c:2796 [inline] mark_lock+0xb4d/0x1050 kernel/locking/lockdep.c:3194 mark_irqflags kernel/locking/lockdep.c:3090 [inline] __lock_acquire+0xd5c/0x3f20 kernel/locking/lockdep.c:3448 lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:152 spin_lock include/linux/spinlock.h:317 [inline] sco_conn_del+0xb0/0x1e0 net/bluetooth/sco.c:175 sco_disconn_cfm net/bluetooth/sco.c:1134 [inline] sco_disconn_cfm+0x50/0x60 net/bluetooth/sco.c:1127 hci_disconn_cfm include/net/bluetooth/hci_core.h:1226 [inline] hci_conn_hash_flush+0x114/0x220 net/bluetooth/hci_conn.c:1376 hci_dev_do_close+0x542/0xc50 net/bluetooth/hci_core.c:1620 hci_rfkill_set_block net/bluetooth/hci_core.c:2050 [inline] hci_rfkill_set_block+0x94/0xe0 net/bluetooth/hci_core.c:2037 rfkill_set_block+0x1b2/0x4a0 net/rfkill/core.c:337 rfkill_epo+0x68/0x130 net/rfkill/core.c:446 __rfkill_handle_global_op net/rfkill/input.c:63 [inline] rfkill_op_handler+0x180/0x1c0 net/rfkill/input.c:111 process_one_work+0x793/0x14a0 kernel/workqueue.c:2116 worker_thread+0x5cc/0xff0 kernel/workqueue.c:2250 kthread+0x30d/0x420 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 misc userio: Can't change port type on an already running userio instance input: syz0 as /devices/virtual/input/input39 input: syz0 as /devices/virtual/input/input40 IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready nla_parse: 9 callbacks suppressed netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. overlayfs: empty lowerdir overlayfs: filesystem on './bus' not supported as upperdir