BFS-fs: bfs_fill_super(): loop3 is unclean, continuing ============================================ WARNING: possible recursive locking detected 4.14.302-syzkaller #0 Not tainted -------------------------------------------- syz-executor.2/9814 is trying to acquire lock: (&port_lock_key){-.-.}, at: [] uart_write+0x109/0x560 drivers/tty/serial/serial_core.c:611 but task is already holding lock: (&port_lock_key){-.-.}, at: [] serial8250_handle_irq.part.0+0x20/0x390 drivers/tty/serial/8250/8250_port.c:1894 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&port_lock_key); lock(&port_lock_key); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by syz-executor.2/9814: #0: (&(&i->lock)->rlock){-.-.}, at: [] spin_lock include/linux/spinlock.h:317 [inline] #0: (&(&i->lock)->rlock){-.-.}, at: [] serial8250_interrupt+0x3a/0x210 drivers/tty/serial/8250/8250_core.c:119 #1: (&port_lock_key){-.-.}, at: [] serial8250_handle_irq.part.0+0x20/0x390 drivers/tty/serial/8250/8250_port.c:1894 #2: (&tty->ldisc_sem){++++}, at: [] tty_ldisc_ref+0x1b/0x80 drivers/tty/tty_ldisc.c:305 stack backtrace: CPU: 1 PID: 9814 Comm: syz-executor.2 Not tainted 4.14.302-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x1b2/0x281 lib/dump_stack.c:58 print_deadlock_bug kernel/locking/lockdep.c:1800 [inline] check_deadlock kernel/locking/lockdep.c:1847 [inline] validate_chain kernel/locking/lockdep.c:2448 [inline] __lock_acquire.cold+0x180/0x97c kernel/locking/lockdep.c:3491 lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xc0 kernel/locking/spinlock.c:160 uart_write+0x109/0x560 drivers/tty/serial/serial_core.c:611 n_hdlc_send_frames+0x241/0x410 drivers/tty/n_hdlc.c:404 n_hdlc_tty_wakeup+0x95/0xb0 drivers/tty/n_hdlc.c:480 tty_wakeup+0xc3/0xf0 drivers/tty/tty_io.c:533 tty_port_default_wakeup+0x26/0x40 drivers/tty/tty_port.c:49 serial8250_tx_chars+0x3fe/0xc70 drivers/tty/serial/8250/8250_port.c:1828 serial8250_handle_irq.part.0+0x2c7/0x390 drivers/tty/serial/8250/8250_port.c:1918 serial8250_handle_irq drivers/tty/serial/8250/8250_port.c:1891 [inline] serial8250_default_handle_irq+0x8a/0x1f0 drivers/tty/serial/8250/8250_port.c:1934 serial8250_interrupt+0xf3/0x210 drivers/tty/serial/8250/8250_core.c:129 __handle_irq_event_percpu+0xee/0x7f0 kernel/irq/handle.c:147 handle_irq_event_percpu kernel/irq/handle.c:187 [inline] handle_irq_event+0xed/0x240 kernel/irq/handle.c:204 handle_edge_irq+0x224/0xc40 kernel/irq/chip.c:770 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x35/0x50 arch/x86/kernel/irq_64.c:87 do_IRQ+0x93/0x1d0 arch/x86/kernel/irq.c:230 common_interrupt+0x93/0x93 arch/x86/entry/entry_64.S:578 RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline] RIP: 0010:_raw_spin_unlock_irq+0x50/0x80 kernel/locking/spinlock.c:200 RSP: 0018:ffff8880af207638 EFLAGS: 00000282 ORIG_RAX: ffffffffffffffc8 RAX: 1ffffffff11e13db RBX: ffff888092c16100 RCX: 0000000000000000 RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffff888092c16984 RBP: ffff8880ba534400 R08: ffffffff8b9c8a88 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880ba534400 R13: ffff8880937024c0 R14: 0000000000000000 R15: ffff8880ba534d50 finish_lock_switch kernel/sched/sched.h:1346 [inline] finish_task_switch+0x178/0x610 kernel/sched/core.c:2678 context_switch kernel/sched/core.c:2814 [inline] __schedule+0x893/0x1de0 kernel/sched/core.c:3387 schedule+0x8d/0x1b0 kernel/sched/core.c:3431 schedule_timeout+0x80a/0xe90 kernel/time/timer.c:1724 unix_wait_for_peer+0x1da/0x210 net/unix/af_unix.c:1244 unix_dgram_sendmsg+0xeab/0x1080 net/unix/af_unix.c:1815 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xb5/0x100 net/socket.c:656 ___sys_sendmsg+0x326/0x800 net/socket.c:2062 __sys_sendmmsg+0x129/0x330 net/socket.c:2152 SYSC_sendmmsg net/socket.c:2183 [inline] SyS_sendmmsg+0x2f/0x50 net/socket.c:2178 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x5e/0xd3 RIP: 0033:0x7f1c5501a0c9 RSP: 002b:00007f1c5358c168 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007f1c55139f80 RCX: 00007f1c5501a0c9 RDX: 0000000000000318 RSI: 00000000200bd000 RDI: 0000000000000006 RBP: 00007f1c55075ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd960bb3df R14: 00007f1c5358c300 R15: 0000000000022000 watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [syz-executor.2:9821] Modules linked in: irq event stamp: 301495 hardirqs last enabled at (301495): [] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] hardirqs last enabled at (301495): [] _raw_spin_unlock_irqrestore+0x79/0xe0 kernel/locking/spinlock.c:192 hardirqs last disabled at (301494): [] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline] hardirqs last disabled at (301494): [] _raw_spin_lock_irqsave+0x66/0xc0 kernel/locking/spinlock.c:160 softirqs last enabled at (298602): [] __do_softirq+0x68b/0x9ff kernel/softirq.c:314 softirqs last disabled at (298591): [] invoke_softirq kernel/softirq.c:368 [inline] softirqs last disabled at (298591): [] irq_exit+0x193/0x240 kernel/softirq.c:409 CPU: 0 PID: 9821 Comm: syz-executor.2 Not tainted 4.14.302-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 task: ffff8880b32ee3c0 task.stack: ffff8880b3b18000 RIP: 0010:__read_once_size include/linux/compiler.h:185 [inline] RIP: 0010:csd_lock_wait kernel/smp.c:108 [inline] RIP: 0010:smp_call_function_single+0x181/0x370 kernel/smp.c:302 RSP: 0018:ffff8880b3b1f480 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff10 RAX: 0000000000040000 RBX: 1ffff11016763e94 RCX: ffffc90008ef9000 RDX: 0000000000040000 RSI: ffffffff814c8bcf RDI: 0000000000000282 RBP: ffff8880b3b1f540 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: ffff8880b32ee3c0 R12: 0000000000000000 R13: ffff8880b3b1f5f8 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f1c5356b700(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020400030 CR3: 00000000a02ca000 CR4: 00000000003406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: smp_call_function_many+0x60f/0x7a0 kernel/smp.c:434 flush_tlb_others arch/x86/include/asm/paravirt.h:309 [inline] flush_tlb_mm_range+0x158/0x2f0 arch/x86/mm/tlb.c:709 pmdp_huge_clear_flush+0x15f/0x250 mm/pgtable-generic.c:131 do_huge_pmd_wp_page+0xc72/0x4730 mm/huge_memory.c:1344 wp_huge_pmd mm/memory.c:4011 [inline] __handle_mm_fault+0x20b2/0x4620 mm/memory.c:4224 handle_mm_fault+0x455/0x9c0 mm/memory.c:4271 __do_page_fault+0x549/0xad0 arch/x86/mm/fault.c:1442 page_fault+0x25/0x50 arch/x86/entry/entry_64.S:1126 RIP: 0010:___sys_recvmsg+0x2b8/0x4d0 net/socket.c:2233 RSP: 0018:ffff8880b3b1fad8 EFLAGS: 00050246 RAX: 0000000000000000 RBX: ffff8880b3b1fdd0 RCX: ffffc90008ef9000 RDX: 0000000000040000 RSI: ffffffff85bd2556 RDI: 0000000000000282 RBP: 0000000000000000 R08: ffff8880b32ee3c0 R09: dffffc0000000000 R10: 0000000000000000 R11: ffff8880b32ee3c0 R12: 0000000000000000 R13: 0000000020400000 R14: 0000000020400030 R15: 0000000000000002 __sys_recvmmsg+0x1f3/0x5d0 net/socket.c:2329 SYSC_recvmmsg net/socket.c:2405 [inline] SyS_recvmmsg+0x125/0x140 net/socket.c:2394 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x5e/0xd3 RIP: 0033:0x7f1c5501a0c9 RSP: 002b:00007f1c5356b168 EFLAGS: 00000246 ORIG_RAX: 000000000000012b RAX: ffffffffffffffda RBX: 00007f1c5513a050 RCX: 00007f1c5501a0c9 RDX: 0000000000010106 RSI: 00000000200000c0 RDI: 0000000000000005 RBP: 00007f1c55075ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000002 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd960bb3df R14: 00007f1c5356b300 R15: 0000000000022000 Code: ce 08 00 48 8b 54 24 10 4c 89 e9 8b 7c 24 1c 48 8d 74 24 40 e8 71 fa ff ff 41 89 c4 8b 44 24 58 a8 01 74 0f e8 71 ce 08 00 f3 90 <8b> 44 24 58 a8 01 75 f1 e8 62 ce 08 00 e8 5d ce 08 00 bf 01 00 Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 skipped: idling at pc 0xffffffff8724bc3d ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 08 00 or %al,(%rax) 2: 48 8b 54 24 10 mov 0x10(%rsp),%rdx 7: 4c 89 e9 mov %r13,%rcx a: 8b 7c 24 1c mov 0x1c(%rsp),%edi e: 48 8d 74 24 40 lea 0x40(%rsp),%rsi 13: e8 71 fa ff ff callq 0xfffffa89 18: 41 89 c4 mov %eax,%r12d 1b: 8b 44 24 58 mov 0x58(%rsp),%eax 1f: a8 01 test $0x1,%al 21: 74 0f je 0x32 23: e8 71 ce 08 00 callq 0x8ce99 28: f3 90 pause * 2a: 8b 44 24 58 mov 0x58(%rsp),%eax <-- trapping instruction 2e: a8 01 test $0x1,%al 30: 75 f1 jne 0x23 32: e8 62 ce 08 00 callq 0x8ce99 37: e8 5d ce 08 00 callq 0x8ce99 3c: bf .byte 0xbf 3d: 01 00 add %eax,(%rax)