============================================ WARNING: possible recursive locking detected 4.19.211-syzkaller #0 Not tainted -------------------------------------------- syz-executor.0/15460 is trying to acquire lock: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:316 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:304 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain kernel/notifier.c:328 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain+0x6f/0xa0 kernel/notifier.c:325 but task is already holding lock: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:316 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:304 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain kernel/notifier.c:328 [inline] 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain+0x6f/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.0/15460: #0: 00000000fcc223f3 (console_lock){+.+.}, at: do_fb_ioctl+0x772/0xb50 drivers/video/fbdev/core/fbmem.c:1210 #1: 00000000fb85ccaa (&fb_info->lock){+.+.}, at: lock_fb_info drivers/video/fbdev/core/fbmem.c:81 [inline] #1: 00000000fb85ccaa (&fb_info->lock){+.+.}, at: do_fb_ioctl+0x77c/0xb50 drivers/video/fbdev/core/fbmem.c:1211 #2: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:316 [inline] #2: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: __blocking_notifier_call_chain kernel/notifier.c:304 [inline] #2: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain kernel/notifier.c:328 [inline] #2: 0000000090725077 ((fb_notifier_list).rwsem){++++}, at: blocking_notifier_call_chain+0x6f/0xa0 kernel/notifier.c:325 stack backtrace: CPU: 0 PID: 15460 Comm: syz-executor.0 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_deadlock_bug kernel/locking/lockdep.c:1764 [inline] check_deadlock kernel/locking/lockdep.c:1808 [inline] validate_chain kernel/locking/lockdep.c:2404 [inline] __lock_acquire.cold+0x121/0x57e kernel/locking/lockdep.c:3416 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908 down_read+0x36/0x80 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+0x6f/0xa0 kernel/notifier.c:325 fb_set_var+0xd9a/0xf90 drivers/video/fbdev/core/fbmem.c:1052 fbcon_switch+0x425/0x1ba0 drivers/video/fbdev/core/fbcon.c:2088 redraw_screen+0x37d/0x870 drivers/tty/vt/vt.c:1015 fbcon_blank+0xae6/0xec0 drivers/video/fbdev/core/fbcon.c:2226 do_unblank_screen+0x241/0x610 drivers/tty/vt/vt.c:4294 fbcon_fb_blanked drivers/video/fbdev/core/fbcon.c:2973 [inline] fbcon_event_notify+0x1a3a/0x1d80 drivers/video/fbdev/core/fbcon.c:3091 notifier_call_chain+0xc0/0x230 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+0x85/0xa0 kernel/notifier.c:325 fb_blank+0x195/0x1d0 drivers/video/fbdev/core/fbmem.c:1080 do_fb_ioctl+0x7ec/0xb50 drivers/video/fbdev/core/fbmem.c:1216 fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1240 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:501 [inline] do_vfs_ioctl+0xcdb/0x12e0 fs/ioctl.c:688 ksys_ioctl+0x9b/0xc0 fs/ioctl.c:705 __do_sys_ioctl fs/ioctl.c:712 [inline] __se_sys_ioctl fs/ioctl.c:710 [inline] __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:710 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7ff56882f209 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ff5671a4168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007ff568941f60 RCX: 00007ff56882f209 RDX: 0000000000000000 RSI: 0000000000004611 RDI: 0000000000000003 RBP: 00007ff568889161 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd1e0ff31f R14: 00007ff5671a4300 R15: 0000000000022000 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 IPVS: set_ctl: invalid protocol: 12 172.20.20.170:20002 nla_parse: 9 callbacks suppressed netlink: 136 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 136 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 136 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'.