overlayfs: fs on 'file0' does not support file handles, falling back to index=off. overlayfs: fs on './file0' does not support file handles, falling back to index=off. ============================================ WARNING: possible recursive locking detected 4.14.288-syzkaller #0 Not tainted -------------------------------------------- syz-executor.1/17129 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/0x330 drivers/tty/serial/8250/8250_port.c:1891 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 6 locks held by syz-executor.1/17129: #0: (&type->s_umount_key#53/1){+.+.}, at: [] alloc_super fs/super.c:251 [inline] #0: (&type->s_umount_key#53/1){+.+.}, at: [] sget_userns+0x556/0xc10 fs/super.c:516 #1: (sb_writers#3){.+.+}, at: [] sb_start_write include/linux/fs.h:1551 [inline] #1: (sb_writers#3){.+.+}, at: [] mnt_want_write+0x3a/0xb0 fs/namespace.c:386 #2: (&type->i_mutex_dir_key#3/1){+.+.}, at: [] inode_lock_nested include/linux/fs.h:754 [inline] #2: (&type->i_mutex_dir_key#3/1){+.+.}, at: [] ovl_workdir_create+0xdb/0x470 fs/overlayfs/super.c:482 #3: (&(&i->lock)->rlock){-.-.}, at: [] spin_lock include/linux/spinlock.h:317 [inline] #3: (&(&i->lock)->rlock){-.-.}, at: [] serial8250_interrupt+0x3a/0x210 drivers/tty/serial/8250/8250_core.c:119 #4: (&port_lock_key){-.-.}, at: [] serial8250_handle_irq.part.0+0x20/0x330 drivers/tty/serial/8250/8250_port.c:1891 #5: (&tty->ldisc_sem){++++}, at: [] tty_ldisc_ref+0x1b/0x80 drivers/tty/tty_ldisc.c:305 stack backtrace: CPU: 1 PID: 17129 Comm: syz-executor.1 Not tainted 4.14.288-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/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+0x28d/0x330 drivers/tty/serial/8250/8250_port.c:1915 serial8250_handle_irq drivers/tty/serial/8250/8250_port.c:1888 [inline] serial8250_default_handle_irq+0x8a/0x1f0 drivers/tty/serial/8250/8250_port.c:1931 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 overlayfs: fs on 'file0' does not support file handles, falling back to index=off. 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:576 RIP: 0010:put_page include/linux/mm.h:874 [inline] RIP: 0010:__find_get_block_slow fs/buffer.c:251 [inline] RIP: 0010:__find_get_block+0x6df/0xc40 fs/buffer.c:1357 RSP: 0018:ffff8880a388f630 EFLAGS: 00000202 overlayfs: fs on './file0' does not support file handles, falling back to index=off. ORIG_RAX: ffffffffffffffc8 RAX: 0000000000040000 RBX: ffff88808cc3a3f0 RCX: ffffc90007ae3000 RDX: 000000000002ac68 RSI: ffffffff8193084b RDI: ffffea00002c8de0 RBP: ffffea00002c8ddc R08: ffffffff8b9d3618 R09: 0000000000000003 R10: 0000000000000000 R11: ffff88806ad7e340 R12: 0000000000000000 R13: ffffffff88f09a18 R14: ffff88808cc3a3f0 R15: ffffea00002c8dc0 sb_find_get_block include/linux/buffer_head.h:346 [inline] recently_deleted fs/ext4/ialloc.c:692 [inline] find_inode_bit+0x1fb/0x4e0 fs/ext4/ialloc.c:732 __ext4_new_inode+0x1379/0x4eb0 fs/ext4/ialloc.c:924 ext4_mkdir+0x2e4/0xbd0 fs/ext4/namei.c:2701 vfs_mkdir+0x463/0x6e0 fs/namei.c:3849 ovl_do_mkdir fs/overlayfs/overlayfs.h:109 [inline] ovl_create_real+0x243/0x380 fs/overlayfs/dir.c:103 ovl_workdir_create+0x2ce/0x470 fs/overlayfs/super.c:508 ovl_fill_super+0xfe9/0x2610 fs/overlayfs/super.c:988 mount_nodev+0x4c/0xf0 fs/super.c:1180 mount_fs+0x92/0x2a0 fs/super.c:1237 vfs_kern_mount.part.0+0x5b/0x470 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2572 [inline] do_mount+0xe65/0x2a30 fs/namespace.c:2905 SYSC_mount fs/namespace.c:3121 [inline] SyS_mount+0xa8/0x120 fs/namespace.c:3098 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x7fbfe75d4199 RSP: 002b:00007fbfe5f49168 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007fbfe76e6f60 RCX: 00007fbfe75d4199 RDX: 0000000020000080 RSI: 0000000020000040 RDI: 0000000000000000 RBP: 00007fbfe762e13b R08: 0000000020000340 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fffe5d3060f R14: 00007fbfe5f49300 R15: 0000000000022000