================================= [ INFO: inconsistent lock state ] 4.1.0 #1 Not tainted --------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. syz-executor.0/22035 [HC0[0]:SC0[0]:HE1:SE1] takes: (slock-AF_NETROM){+.?...}, at: [] spin_lock include/linux/spinlock.h:312 [inline] (slock-AF_NETROM){+.?...}, at: [] nr_find_socket+0x5d/0x80 net/netrom/af_netrom.c:177 {IN-SOFTIRQ-W} state was registered at: [] mark_irqflags kernel/locking/lockdep.c:2799 [inline] [] __lock_acquire+0x86b/0x1c70 kernel/locking/lockdep.c:3161 [] lock_acquire+0xe6/0x310 kernel/locking/lockdep.c:3623 [] __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] [] _raw_spin_lock+0x36/0x50 kernel/locking/spinlock.c:151 [] spin_lock include/linux/spinlock.h:312 [inline] [] nr_find_listener net/netrom/af_netrom.c:156 [inline] [] nr_rx_frame+0x2be/0x6c0 net/netrom/af_netrom.c:953 [] nr_loopback_timer+0x3e/0xb0 net/netrom/nr_loopback.c:62 [] call_timer_fn+0xa5/0x520 kernel/time/timer.c:1153 [] __run_timers kernel/time/timer.c:1225 [inline] [] run_timer_softirq+0x2ac/0x4a0 kernel/time/timer.c:1415 [] __do_softirq+0x15c/0x6c0 kernel/softirq.c:273 [] invoke_softirq kernel/softirq.c:350 [inline] [] irq_exit+0xc5/0xe0 kernel/softirq.c:391 [] exiting_irq arch/x86/include/asm/apic.h:649 [inline] [] smp_apic_timer_interrupt+0x41/0x50 arch/x86/kernel/apic/apic.c:915 [] apic_timer_interrupt+0x73/0x80 arch/x86/kernel/entry_64.S:923 [] arch_safe_halt arch/x86/include/asm/paravirt.h:111 [inline] [] default_idle+0x29/0x270 arch/x86/kernel/process.c:341 [] arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:332 [] cpuidle_idle_call kernel/sched/idle.c:195 [inline] [] cpu_idle_loop kernel/sched/idle.c:249 [inline] [] cpu_startup_entry+0x2e9/0x660 kernel/sched/idle.c:297 [] start_secondary+0x147/0x190 arch/x86/kernel/smpboot.c:269 irq event stamp: 184 hardirqs last enabled at (181): [] __local_bh_enable_ip+0x7d/0x140 kernel/softirq.c:175 hardirqs last disabled at (183): [] __local_bh_enable_ip+0x45/0x140 kernel/softirq.c:152 softirqs last enabled at (184): [] spin_unlock_bh include/linux/spinlock.h:362 [inline] softirqs last enabled at (184): [] nr_find_socket+0x69/0x80 net/netrom/af_netrom.c:183 softirqs last disabled at (182): [] spin_lock_bh include/linux/spinlock.h:317 [inline] softirqs last disabled at (182): [] nr_find_socket+0x1f/0x80 net/netrom/af_netrom.c:172 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_NETROM); lock(slock-AF_NETROM); *** DEADLOCK *** 1 lock held by syz-executor.0/22035: #0: (slock-AF_NETROM){+.?...}, at: [] spin_lock include/linux/spinlock.h:312 [inline] #0: (slock-AF_NETROM){+.?...}, at: [] nr_find_socket+0x5d/0x80 net/netrom/af_netrom.c:177 stack backtrace: CPU: 1 PID: 22035 Comm: syz-executor.0 Not tainted 4.1.0 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 ffff88003876c750 ffff880038e8fc48 ffffffff8264369b 0000000000000011 ffffffff83dd4330 ffff880038e8fca8 ffffffff811c40ad 0000000000000000 0000000000000001 ffff880000000001 ffffffff8108ff1a ffff88003876cfb8 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0x4f/0x7b lib/dump_stack.c:50 [] print_usage_bug+0x27d/0x2a0 kernel/locking/lockdep.c:2267 [] valid_state kernel/locking/lockdep.c:2280 [inline] [] mark_lock_irq kernel/locking/lockdep.c:2478 [inline] [] mark_lock+0x654/0x750 kernel/locking/lockdep.c:2933 [] mark_held_locks+0x75/0xc0 kernel/locking/lockdep.c:2536 [] __trace_hardirqs_on_caller kernel/locking/lockdep.c:2565 [inline] [] trace_hardirqs_on_caller+0x155/0x200 kernel/locking/lockdep.c:2612 [] trace_hardirqs_on+0xd/0x10 kernel/locking/lockdep.c:2619 [] __local_bh_enable_ip+0x7d/0x140 kernel/softirq.c:175 [] __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:178 [inline] [] _raw_spin_unlock_bh+0x34/0x40 kernel/locking/spinlock.c:207 [] spin_unlock_bh include/linux/spinlock.h:362 [inline] [] nr_find_socket+0x69/0x80 net/netrom/af_netrom.c:183 [] nr_find_next_circuit+0x3e/0x50 net/netrom/af_netrom.c:225 [] nr_connect+0xc1/0x3f0 net/netrom/af_netrom.c:704 [] SYSC_connect+0xc7/0x100 net/socket.c:1552 [] SyS_connect+0x9/0x10 net/socket.c:1533 [] system_call_fastpath+0x16/0x7a kobject: 'loop3' (ffff88007cc988a0): kobject_uevent_env kobject: 'loop3' (ffff88007cc988a0): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff88007dfdb0a0): kobject_uevent_env kobject: 'loop0' (ffff88007dfdb0a0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop1' (ffff88007de488a0): kobject_uevent_env kobject: 'loop1' (ffff88007de488a0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop5' (ffff88007cc980a0): kobject_uevent_env kobject: 'loop5' (ffff88007cc980a0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop2' (ffff88007de480a0): kobject_uevent_env kobject: 'loop2' (ffff88007de480a0): fill_kobj_path: path = '/devices/virtual/block/loop2' kobject: 'loop5' (ffff88007cc980a0): kobject_uevent_env kobject: 'loop5' (ffff88007cc980a0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop4' (ffff88007d53f0a0): kobject_uevent_env kobject: 'loop4' (ffff88007d53f0a0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop1' (ffff88007de488a0): kobject_uevent_env kobject: 'loop1' (ffff88007de488a0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop0' (ffff88007dfdb0a0): kobject_uevent_env kobject: 'loop0' (ffff88007dfdb0a0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop3' (ffff88007cc988a0): kobject_uevent_env kobject: 'loop3' (ffff88007cc988a0): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop2' (ffff88007de480a0): kobject_uevent_env kobject: 'loop2' (ffff88007de480a0): fill_kobj_path: path = '/devices/virtual/block/loop2' kobject: 'loop5' (ffff88007cc980a0): kobject_uevent_env kobject: 'loop5' (ffff88007cc980a0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop4' (ffff88007d53f0a0): kobject_uevent_env kobject: 'loop4' (ffff88007d53f0a0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop3' (ffff88007cc988a0): kobject_uevent_env kobject: 'loop3' (ffff88007cc988a0): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop1' (ffff88007de488a0): kobject_uevent_env kobject: 'loop1' (ffff88007de488a0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop0' (ffff88007dfdb0a0): kobject_uevent_env kobject: 'loop0' (ffff88007dfdb0a0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop0' (ffff88007dfdb0a0): kobject_uevent_env kobject: 'loop0' (ffff88007dfdb0a0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop2' (ffff88007de480a0): kobject_uevent_env kobject: 'loop2' (ffff88007de480a0): fill_kobj_path: path = '/devices/virtual/block/loop2' kobject: 'loop4' (ffff88007d53f0a0): kobject_uevent_env kobject: 'loop4' (ffff88007d53f0a0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop5' (ffff88007cc980a0): kobject_uevent_env kobject: 'loop5' (ffff88007cc980a0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff88007cc988a0): kobject_uevent_env kobject: 'loop3' (ffff88007cc988a0): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop1' (ffff88007de488a0): kobject_uevent_env kobject: 'loop1' (ffff88007de488a0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop1' (ffff88007de488a0): kobject_uevent_env kobject: 'loop1' (ffff88007de488a0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop0' (ffff88007dfdb0a0): kobject_uevent_env kobject: 'loop0' (ffff88007dfdb0a0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'rx-0' (ffff88003eb31610): kobject_cleanup, parent ffff88003d77cd48 kobject: 'rx-0' (ffff88003eb31610): auto cleanup 'remove' event kobject: 'rx-0' (ffff88003eb31610): kobject_uevent_env kobject: 'rx-0' (ffff88003eb31610): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff88003eb31610): auto cleanup kobject_del kobject: 'rx-0' (ffff88003eb31610): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff88003b5ac618): kobject_cleanup, parent ffff88003d77cd48 kobject: 'tx-0' (ffff88003b5ac618): auto cleanup 'remove' event kobject: 'tx-0' (ffff88003b5ac618): kobject_uevent_env kobject: 'tx-0' (ffff88003b5ac618): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff88003b5ac618): auto cleanup kobject_del kobject: 'tx-0' (ffff88003b5ac618): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88003d77cd48): kobject_cleanup, parent (null) kobject: 'queues' (ffff88003d77cd48): calling ktype release kobject: 'queues' (ffff88003d77cd48): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff88003b58c4f8): kobject_uevent_env kobject: 'syz_tun' (ffff88003b58c4f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'rx-0' (ffff88007dc2aa10): kobject_cleanup, parent ffff88007dcb8748 kobject: 'rx-0' (ffff88007dc2aa10): auto cleanup 'remove' event kobject: 'rx-0' (ffff88007dc2aa10): kobject_uevent_env kobject: 'rx-0' (ffff88007dc2aa10): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff88007dc2aa10): auto cleanup kobject_del kobject: 'rx-0' (ffff88007dc2aa10): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff88007afae018): kobject_cleanup, parent ffff88007dcb8748 kobject: 'tx-0' (ffff88007afae018): auto cleanup 'remove' event kobject: 'tx-0' (ffff88007afae018): kobject_uevent_env kobject: 'tx-0' (ffff88007afae018): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff88007afae018): auto cleanup kobject_del kobject: 'tx-0' (ffff88007afae018): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88007dcb8748): kobject_cleanup, parent (null) kobject: 'queues' (ffff88007dcb8748): calling ktype release kobject: 'queues' (ffff88007dcb8748): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff880079c144f8): kobject_uevent_env kobject: 'syz_tun' (ffff880079c144f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'rx-0' (ffff88003a8c5d90): kobject_cleanup, parent ffff88003aaf8ec8 kobject: 'rx-0' (ffff88003a8c5d90): auto cleanup 'remove' event kobject: 'rx-0' (ffff88003a8c5d90): kobject_uevent_env kobject: 'rx-0' (ffff88003a8c5d90): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff88003a8c5d90): auto cleanup kobject_del kobject: 'rx-0' (ffff88003a8c5d90): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff88003ab97a18): kobject_cleanup, parent ffff88003aaf8ec8 kobject: 'tx-0' (ffff88003ab97a18): auto cleanup 'remove' event kobject: 'tx-0' (ffff88003ab97a18): kobject_uevent_env kobject: 'tx-0' (ffff88003ab97a18): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff88003ab97a18): auto cleanup kobject_del kobject: 'tx-0' (ffff88003ab97a18): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88003aaf8ec8): kobject_cleanup, parent (null) kobject: 'queues' (ffff88003aaf8ec8): calling ktype release kobject: 'queues' (ffff88003aaf8ec8): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff88003d7e84f8): kobject_uevent_env kobject: 'syz_tun' (ffff88003d7e84f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'rx-0' (ffff880078fb4f90): kobject_cleanup, parent ffff88007dc5af88 kobject: 'rx-0' (ffff880078fb4f90): auto cleanup 'remove' event kobject: 'rx-0' (ffff880078fb4f90): kobject_uevent_env kobject: 'rx-0' (ffff880078fb4f90): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff880078fb4f90): auto cleanup kobject_del kobject: 'rx-0' (ffff880078fb4f90): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff880077d23e18): kobject_cleanup, parent ffff88007dc5af88 kobject: 'tx-0' (ffff880077d23e18): auto cleanup 'remove' event kobject: 'tx-0' (ffff880077d23e18): kobject_uevent_env kobject: 'tx-0' (ffff880077d23e18): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff880077d23e18): auto cleanup kobject_del kobject: 'tx-0' (ffff880077d23e18): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88007dc5af88): kobject_cleanup, parent (null) kobject: 'queues' (ffff88007dc5af88): calling ktype release kobject: 'queues' (ffff88007dc5af88): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff880078f244f8): kobject_uevent_env kobject: 'syz_tun' (ffff880078f244f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'rx-0' (ffff88003aa44310): kobject_cleanup, parent ffff88003df4e2c8 kobject: 'rx-0' (ffff88003aa44310): auto cleanup 'remove' event kobject: 'rx-0' (ffff88003aa44310): kobject_uevent_env kobject: 'rx-0' (ffff88003aa44310): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff88003aa44310): auto cleanup kobject_del kobject: 'rx-0' (ffff88003aa44310): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff880039da9e18): kobject_cleanup, parent ffff88003df4e2c8 kobject: 'tx-0' (ffff880039da9e18): auto cleanup 'remove' event kobject: 'tx-0' (ffff880039da9e18): kobject_uevent_env kobject: 'tx-0' (ffff880039da9e18): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff880039da9e18): auto cleanup kobject_del kobject: 'tx-0' (ffff880039da9e18): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88003df4e2c8): kobject_cleanup, parent (null) kobject: 'queues' (ffff88003df4e2c8): calling ktype release kobject: 'queues' (ffff88003df4e2c8): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff88003907c4f8): kobject_uevent_env kobject: 'syz_tun' (ffff88003907c4f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'rx-0' (ffff88007dc2af10): kobject_cleanup, parent ffff88007dcb8bc8 kobject: 'rx-0' (ffff88007dc2af10): auto cleanup 'remove' event kobject: 'rx-0' (ffff88007dc2af10): kobject_uevent_env kobject: 'rx-0' (ffff88007dc2af10): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/rx-0' kobject: 'rx-0' (ffff88007dc2af10): auto cleanup kobject_del kobject: 'rx-0' (ffff88007dc2af10): calling ktype release kobject: 'rx-0': free name kobject: 'tx-0' (ffff880078f9aa18): kobject_cleanup, parent ffff88007dcb8bc8 kobject: 'tx-0' (ffff880078f9aa18): auto cleanup 'remove' event kobject: 'tx-0' (ffff880078f9aa18): kobject_uevent_env kobject: 'tx-0' (ffff880078f9aa18): fill_kobj_path: path = '/devices/virtual/net/syz_tun/queues/tx-0' kobject: 'tx-0' (ffff880078f9aa18): auto cleanup kobject_del kobject: 'tx-0' (ffff880078f9aa18): calling ktype release kobject: 'tx-0': free name kobject: 'queues' (ffff88007dcb8bc8): kobject_cleanup, parent (null) kobject: 'queues' (ffff88007dcb8bc8): calling ktype release kobject: 'queues' (ffff88007dcb8bc8): kset_release kobject: 'queues': free name kobject: 'syz_tun' (ffff880077d944f8): kobject_uevent_env kobject: 'syz_tun' (ffff880077d944f8): fill_kobj_path: path = '/devices/virtual/net/syz_tun' kobject: 'syz_tun' (ffff880079c144f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff88003d7e84f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff88003d7e84f8): calling ktype release kobject: 'syz_tun': free name kobject: 'syz_tun' (ffff88003907c4f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff88003907c4f8): calling ktype release kobject: 'syz_tun': free name kobject: 'syz_tun' (ffff88003b58c4f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff88003b58c4f8): calling ktype release kobject: 'syz_tun': free name kobject: 'syz_tun' (ffff880078f244f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff880078f244f8): calling ktype release kobject: 'syz_tun': free name kobject: 'syz_tun' (ffff880079c144f8): calling ktype release kobject: 'syz_tun': free name kobject: 'syz_tun' (ffff880077d944f8): kobject_cleanup, parent (null) kobject: 'syz_tun' (ffff880077d944f8): calling ktype release kobject: 'syz_tun': free name