BUG: sleeping function called from invalid context at drivers/tty/vt/vt.c:2599 in_atomic(): 1, irqs_disabled(): 1, pid: 7622, name: syz-executor.3 3 locks held by syz-executor.3/7622: #0: 0000000094eb9a71 (&tty->ldisc_sem){++++}, at: tty_ldisc_ref_wait+0x22/0x80 drivers/tty/tty_ldisc.c:272 #1: 00000000600c0bba (&(&tty->flow_lock)->rlock){....}, at: spin_lock_irq include/linux/spinlock.h:354 [inline] #1: 00000000600c0bba (&(&tty->flow_lock)->rlock){....}, at: n_tty_ioctl_helper+0xcc/0x3a0 drivers/tty/tty_ioctl.c:914 #2: 0000000094eb9a71 (&tty->ldisc_sem){++++}, at: tty_ldisc_ref+0x1d/0x80 drivers/tty/tty_ldisc.c:293 irq event stamp: 210 hardirqs last enabled at (209): [] do_syscall_64+0x21/0x620 arch/x86/entry/common.c:280 hardirqs last disabled at (210): [] __raw_spin_lock_irq include/linux/spinlock_api_smp.h:126 [inline] hardirqs last disabled at (210): [] _raw_spin_lock_irq+0x35/0x80 kernel/locking/spinlock.c:160 softirqs last enabled at (0): [] copy_process.part.0+0x15b9/0x8260 kernel/fork.c:1856 softirqs last disabled at (0): [<0000000000000000>] (null) Preemption disabled at: [<0000000000000000>] (null) CPU: 0 PID: 7622 Comm: syz-executor.3 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 ___might_sleep.cold+0x235/0x250 kernel/sched/core.c:6192 do_con_write+0x116/0x1d90 drivers/tty/vt/vt.c:2599 con_write+0x22/0xb0 drivers/tty/vt/vt.c:3163 n_hdlc_send_frames+0x278/0x470 drivers/tty/n_hdlc.c:403 n_hdlc_tty_wakeup+0xa0/0xc0 drivers/tty/n_hdlc.c:479 tty_wakeup+0xd4/0x110 drivers/tty/tty_io.c:534 __start_tty drivers/tty/tty_io.c:806 [inline] __start_tty+0x116/0x150 drivers/tty/tty_io.c:799 n_tty_ioctl_helper+0x348/0x3a0 drivers/tty/tty_ioctl.c:917 n_hdlc_tty_ioctl+0x102/0x350 drivers/tty/n_hdlc.c:783 tty_ioctl+0x65d/0x1630 drivers/tty/tty_io.c:2678 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:0x7fde6b0ca049 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:00007fde69a3f168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fde6b1dcf60 RCX: 00007fde6b0ca049 RDX: 0000000000000001 RSI: 000000000000540a RDI: 0000000000000003 RBP: 00007fde6b12408d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe42e5f8af R14: 00007fde69a3f300 R15: 0000000000022000 BUG: scheduling while atomic: syz-executor.3/7622/0x00000002 3 locks held by syz-executor.3/7622: #0: 0000000094eb9a71 (&tty->ldisc_sem){++++}, at: tty_ldisc_ref_wait+0x22/0x80 drivers/tty/tty_ldisc.c:272 #1: 00000000600c0bba (&(&tty->flow_lock)->rlock){+.+.}, at: spin_lock_irq include/linux/spinlock.h:354 [inline] #1: 00000000600c0bba (&(&tty->flow_lock)->rlock){+.+.}, at: n_tty_ioctl_helper+0xcc/0x3a0 drivers/tty/tty_ioctl.c:914 #2: 0000000094eb9a71 (&tty->ldisc_sem){++++}, at: tty_ldisc_ref+0x1d/0x80 drivers/tty/tty_ldisc.c:293 Modules linked in: Preemption disabled at: [<0000000000000000>] (null)