kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' ============================================ WARNING: possible recursive locking detected 4.14.158-syzkaller #0 Not tainted -------------------------------------------- syz-executor.3/2792 is trying to acquire lock: ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:316 [inline] ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:304 [inline] ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain kernel/notifier.c:328 [inline] ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain+0x6a/0xa0 kernel/notifier.c:325 but task is already holding lock: ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:316 [inline] ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:304 [inline] ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain kernel/notifier.c:328 [inline] ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain+0x6a/0xa0 kernel/notifier.c:325 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock((fb_notifier_list).rwsem); lock((fb_notifier_list).rwsem); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor.3/2792: #0: (console_lock){+.+.}, at: [] do_fb_ioctl+0x143/0x940 drivers/video/fbdev/core/fbmem.c:1212 #1: (&fb_info->lock){+.+.}, at: [] lock_fb_info+0x1f/0x80 drivers/video/fbdev/core/fbmem.c:81 #2: ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:316 [inline] #2: ((fb_notifier_list).rwsem){++++}, at: [] __blocking_notifier_call_chain kernel/notifier.c:304 [inline] #2: ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain kernel/notifier.c:328 [inline] #2: ((fb_notifier_list).rwsem){++++}, at: [] blocking_notifier_call_chain+0x6a/0xa0 kernel/notifier.c:325 stack backtrace: CPU: 1 PID: 2792 Comm: syz-executor.3 Not tainted 4.14.158-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x142/0x197 lib/dump_stack.c:58 print_deadlock_bug kernel/locking/lockdep.c:1796 [inline] check_deadlock kernel/locking/lockdep.c:1843 [inline] validate_chain kernel/locking/lockdep.c:2444 [inline] __lock_acquire.cold+0x2bf/0x8dc kernel/locking/lockdep.c:3487 lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3994 down_read+0x3b/0xb0 kernel/locking/rwsem.c:24 __blocking_notifier_call_chain kernel/notifier.c:316 [inline] __blocking_notifier_call_chain kernel/notifier.c:304 [inline] blocking_notifier_call_chain kernel/notifier.c:328 [inline] blocking_notifier_call_chain+0x6a/0xa0 kernel/notifier.c:325 fb_notifier_call_chain+0x25/0x30 drivers/video/fbdev/core/fb_notify.c:45 fb_set_var+0xb09/0xcf0 drivers/video/fbdev/core/fbmem.c:1054 fbcon_switch+0x4f6/0x1820 drivers/video/fbdev/core/fbcon.c:2232 redraw_screen+0x335/0x7c0 drivers/tty/vt/vt.c:688 fbcon_blank+0xa04/0xde0 drivers/video/fbdev/core/fbcon.c:2370 do_unblank_screen drivers/tty/vt/vt.c:3909 [inline] do_unblank_screen+0x207/0x500 drivers/tty/vt/vt.c:3876 fbcon_fb_blanked drivers/video/fbdev/core/fbcon.c:3211 [inline] fbcon_event_notify+0x1499/0x17af drivers/video/fbdev/core/fbcon.c:3329 notifier_call_chain+0x111/0x1b0 kernel/notifier.c:93 __blocking_notifier_call_chain kernel/notifier.c:317 [inline] __blocking_notifier_call_chain kernel/notifier.c:304 [inline] blocking_notifier_call_chain kernel/notifier.c:328 [inline] blocking_notifier_call_chain+0x80/0xa0 kernel/notifier.c:325 fb_notifier_call_chain+0x25/0x30 drivers/video/fbdev/core/fb_notify.c:45 fb_blank+0x162/0x1b0 drivers/video/fbdev/core/fbmem.c:1082 do_fb_ioctl+0x196/0x940 drivers/video/fbdev/core/fbmem.c:1218 fb_ioctl+0xe6/0x130 drivers/video/fbdev/core/fbmem.c:1242 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x7ae/0x1060 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x45a909 RSP: 002b:00007f6d1cbdac78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000045a909 RDX: 0000000000000000 RSI: 0000000000004611 RDI: 0000000000000003 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f6d1cbdb6d4 R13: 00000000004c305f R14: 00000000004d8318 R15: 00000000ffffffff kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' ntfs: (device loop3): parse_options(): Unrecognized mount option . kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' ntfs: (device loop3): parse_options(): Unrecognized mount option . kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' ntfs: (device loop3): parse_options(): Unrecognized mount option . kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' ntfs: (device loop3): parse_options(): Unrecognized mount option . kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' ntfs: (device loop3): parse_options(): Unrecognized mount option . kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' net_ratelimit: 10 callbacks suppressed protocol 88fb is buggy, dev hsr_slave_0 protocol 88fb is buggy, dev hsr_slave_1 kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' protocol 88fb is buggy, dev hsr_slave_0 protocol 88fb is buggy, dev hsr_slave_1 kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop0' (ffff8880a1a76ee0): kobject_uevent_env kobject: 'loop0' (ffff8880a1a76ee0): fill_kobj_path: path = '/devices/virtual/block/loop0' protocol 88fb is buggy, dev hsr_slave_0 protocol 88fb is buggy, dev hsr_slave_1 kobject: 'loop5' (ffff8880a41bb7e0): kobject_uevent_env kobject: 'loop5' (ffff8880a41bb7e0): fill_kobj_path: path = '/devices/virtual/block/loop5' kobject: 'loop1' (ffff8880a407c4e0): kobject_uevent_env kobject: 'loop1' (ffff8880a407c4e0): fill_kobj_path: path = '/devices/virtual/block/loop1' kobject: 'loop3' (ffff8880a4142e60): kobject_uevent_env kobject: 'loop3' (ffff8880a4142e60): fill_kobj_path: path = '/devices/virtual/block/loop3' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4' kobject: 'loop4' (ffff8880a417cee0): kobject_uevent_env kobject: 'loop4' (ffff8880a417cee0): fill_kobj_path: path = '/devices/virtual/block/loop4'