FAULT_INJECTION: forcing a failure.
name fail_usercopy, interval 1, probability 0, space 0, times 0
======================================================
WARNING: possible circular locking dependency detected
6.1.134-syzkaller #0 Not tainted
------------------------------------------------------
syz.0.3005/15086 is trying to acquire lock:
ffffffff8d322960 (console_owner){-...}-{0:0}, at: console_lock_spinning_enable kernel/printk/printk.c:1818 [inline]
ffffffff8d322960 (console_owner){-...}-{0:0}, at: console_emit_next_record+0x74f/0xc30 kernel/printk/printk.c:2774
but task is already holding lock:
ffff8880b8e3a998 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x26/0x140 kernel/sched/core.c:537
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #4 (&rq->__lock){-.-.}-{2:2}:
       lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
       _raw_spin_lock_nested+0x2d/0x40 kernel/locking/spinlock.c:378
       raw_spin_rq_lock_nested+0x26/0x140 kernel/sched/core.c:537
       raw_spin_rq_lock kernel/sched/sched.h:1355 [inline]
       rq_lock kernel/sched/sched.h:1645 [inline]
       task_fork_fair+0x5d/0x350 kernel/sched/fair.c:11888
       sched_cgroup_fork+0x374/0x400 kernel/sched/core.c:4685
       copy_process+0x2482/0x40a0 kernel/fork.c:2383
       kernel_clone+0x222/0x920 kernel/fork.c:2681
       user_mode_thread+0x140/0x1b0 kernel/fork.c:2757
       rest_init+0x23/0x300 init/main.c:698
       start_kernel+0x0/0x53f init/main.c:893
       start_kernel+0x496/0x53f init/main.c:1140
       secondary_startup_64_no_verify+0xcf/0xdb
-> #3 (&p->pi_lock){-.-.}-{2:2}:
       lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
       __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
       _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
       try_to_wake_up+0xad/0x1250 kernel/sched/core.c:4111
       __wake_up_common+0x2a0/0x4e0 kernel/sched/wait.c:107
       __wake_up_common_lock kernel/sched/wait.c:138 [inline]
       __wake_up+0x11a/0x1c0 kernel/sched/wait.c:160
       tty_port_default_wakeup+0xa2/0xf0 drivers/tty/tty_port.c:71
       serial8250_tx_chars+0x60d/0x800 drivers/tty/serial/8250/8250_port.c:1854
       serial8250_handle_irq+0x4ff/0x6a0 drivers/tty/serial/8250/8250_port.c:1961
       serial8250_default_handle_irq+0xc8/0x1e0 drivers/tty/serial/8250/8250_port.c:1981
       serial8250_interrupt+0xa1/0x1e0 drivers/tty/serial/8250/8250_core.c:126
       __handle_irq_event_percpu+0x2a8/0xb20 kernel/irq/handle.c:158
       handle_irq_event_percpu kernel/irq/handle.c:193 [inline]
       handle_irq_event+0x85/0x1e0 kernel/irq/handle.c:210
       handle_edge_irq+0x245/0xbf0 kernel/irq/chip.c:819
       generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
       handle_irq arch/x86/kernel/irq.c:233 [inline]
       __common_interrupt+0xd7/0x1f0 arch/x86/kernel/irq.c:252
       common_interrupt+0xae/0xd0 arch/x86/kernel/irq.c:242
       asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:682
       check_kcov_mode kernel/kcov.c:184 [inline]
       __sanitizer_cov_trace_pc+0x32/0x60 kernel/kcov.c:216
       mt_validate_nulls lib/maple_tree.c:7206 [inline]
       mt_validate+0x5364/0x5ad0 lib/maple_tree.c:7244
       validate_mm_mt+0x165/0x670 mm/mmap.c:294
       validate_mm+0x16e/0x380 mm/mmap.c:331
       remove_mt mm/mmap.c:2310 [inline]
       do_mas_align_munmap+0x12c9/0x15a0 mm/mmap.c:2583
       do_mas_munmap+0x246/0x2b0 mm/mmap.c:2638
       __mmap_region mm/mmap.c:2686 [inline]
       mmap_region+0x8d4/0x2660 mm/mmap.c:2904
       do_mmap+0x8c5/0xf60 mm/mmap.c:1424
       vm_mmap_pgoff+0x1ca/0x2d0 mm/util.c:520
       ksys_mmap_pgoff+0x4f5/0x6d0 mm/mmap.c:1470
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
       entry_SYSCALL_64_after_hwframe+0x68/0xd2
-> #2 (&tty->write_wait){-.-.}-{2:2}:
       lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
       __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
       _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
       __wake_up_common_lock kernel/sched/wait.c:137 [inline]
       __wake_up+0xfd/0x1c0 kernel/sched/wait.c:160
       tty_port_default_wakeup+0xa2/0xf0 drivers/tty/tty_port.c:71
       serial8250_tx_chars+0x60d/0x800 drivers/tty/serial/8250/8250_port.c:1854
       serial8250_handle_irq+0x4ff/0x6a0 drivers/tty/serial/8250/8250_port.c:1961
       serial8250_default_handle_irq+0xc8/0x1e0 drivers/tty/serial/8250/8250_port.c:1981
       serial8250_interrupt+0xa1/0x1e0 drivers/tty/serial/8250/8250_core.c:126
       __handle_irq_event_percpu+0x2a8/0xb20 kernel/irq/handle.c:158
       handle_irq_event_percpu kernel/irq/handle.c:193 [inline]
       handle_irq_event+0x85/0x1e0 kernel/irq/handle.c:210
       handle_edge_irq+0x245/0xbf0 kernel/irq/chip.c:819
       generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
       handle_irq arch/x86/kernel/irq.c:233 [inline]
       __common_interrupt+0xd7/0x1f0 arch/x86/kernel/irq.c:252
       common_interrupt+0xae/0xd0 arch/x86/kernel/irq.c:242
       asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:682
       native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
       arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
       default_idle+0xb/0x10 arch/x86/kernel/process.c:735
       default_idle_call+0x84/0xc0 kernel/sched/idle.c:109
       cpuidle_idle_call kernel/sched/idle.c:191 [inline]
       do_idle+0x251/0x680 kernel/sched/idle.c:303
       cpu_startup_entry+0x3d/0x60 kernel/sched/idle.c:401
       rest_init+0x2da/0x300 init/main.c:733
       start_kernel+0x0/0x53f init/main.c:893
       start_kernel+0x496/0x53f init/main.c:1140
       secondary_startup_64_no_verify+0xcf/0xdb
-> #1 (&port_lock_key){-.-.}-{2:2}:
       lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
       __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
       _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
       serial8250_console_write+0x19f/0x1a30 drivers/tty/serial/8250/8250_port.c:3433
       call_console_driver kernel/printk/printk.c:1977 [inline]
       console_emit_next_record+0x86d/0xc30 kernel/printk/printk.c:2777
       console_flush_all kernel/printk/printk.c:-1 [inline]
       console_unlock+0x278/0x7c0 kernel/printk/printk.c:2906
       vprintk_emit+0x523/0x740 kernel/printk/printk.c:2303
       _printk+0xd1/0x111 kernel/printk/printk.c:2328
       register_console+0x6b9/0x9a0 kernel/printk/printk.c:3269
       univ8250_console_init+0x41/0x43 drivers/tty/serial/8250/8250_core.c:687
       console_init+0x1d6/0x7f3 kernel/printk/printk.c:3359
       start_kernel+0x30b/0x53f init/main.c:1076
       secondary_startup_64_no_verify+0xcf/0xdb
-> #0 (console_owner){-...}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3090 [inline]
       check_prevs_add kernel/locking/lockdep.c:3209 [inline]
       validate_chain+0x1661/0x5950 kernel/locking/lockdep.c:3825
       __lock_acquire+0x125b/0x1f80 kernel/locking/lockdep.c:5049
       lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
       console_lock_spinning_enable kernel/printk/printk.c:1818 [inline]
       console_emit_next_record+0x76c/0xc30 kernel/printk/printk.c:2774
       console_flush_all kernel/printk/printk.c:-1 [inline]
       console_unlock+0x278/0x7c0 kernel/printk/printk.c:2906
       vprintk_emit+0x523/0x740 kernel/printk/printk.c:2303
       _printk+0xd1/0x111 kernel/printk/printk.c:2328
       fail_dump lib/fault-inject.c:45 [inline]
       should_fail_ex+0x387/0x4d0 lib/fault-inject.c:147
       strncpy_from_user+0x32/0x360 lib/strncpy_from_user.c:118
       strncpy_from_user_nofault+0x6c/0x130 mm/maccess.c:186
       bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:204 [inline]
       ____bpf_probe_read_compat_str kernel/trace/bpf_trace.c:310 [inline]
       bpf_probe_read_compat_str+0xe4/0x180 kernel/trace/bpf_trace.c:306
       bpf_prog_c1796171ffc7efef+0x35/0x37
       bpf_dispatcher_nop_func include/linux/bpf.h:1000 [inline]
       __bpf_prog_run include/linux/filter.h:603 [inline]
       bpf_prog_run include/linux/filter.h:610 [inline]
       __bpf_trace_run kernel/trace/bpf_trace.c:2284 [inline]
       bpf_trace_run4+0x253/0x470 kernel/trace/bpf_trace.c:2325
       __traceiter_sched_switch+0x91/0xc0 include/trace/events/sched.h:222
       trace_sched_switch include/trace/events/sched.h:222 [inline]
       __schedule+0x2128/0x4570 kernel/sched/core.c:6558
       schedule+0xbf/0x180 kernel/sched/core.c:6637
       __lock_sock+0x1c8/0x320 net/core/sock.c:2915
       lock_sock_nested+0x9a/0x100 net/core/sock.c:3493
       lock_sock include/net/sock.h:1756 [inline]
       tipc_sendmsg+0x43/0x70 net/tipc/socket.c:1402
       sock_sendmsg_nosec net/socket.c:718 [inline]
       __sock_sendmsg net/socket.c:730 [inline]
       sock_write_iter+0x394/0x4e0 net/socket.c:1143
       call_write_iter include/linux/fs.h:2265 [inline]
       new_sync_write fs/read_write.c:491 [inline]
       vfs_write+0x857/0xbc0 fs/read_write.c:584
       ksys_write+0x19c/0x2c0 fs/read_write.c:637
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
       entry_SYSCALL_64_after_hwframe+0x68/0xd2
other info that might help us debug this:
Chain exists of:
  console_owner --> &p->pi_lock --> &rq->__lock
 Possible unsafe locking scenario:
       CPU0                    CPU1
       ----                    ----
  lock(&rq->__lock);
                               lock(&p->pi_lock);
                               lock(&rq->__lock);
  lock(console_owner);
 *** DEADLOCK ***
4 locks held by syz.0.3005/15086:
 #0: ffff88807117c4b0 (sk_lock-AF_TIPC){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1756 [inline]
 #0: ffff88807117c4b0 (sk_lock-AF_TIPC){+.+.}-{0:0}, at: tipc_sendmsg+0x43/0x70 net/tipc/socket.c:1402
 #1: ffff8880b8e3a998 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x26/0x140 kernel/sched/core.c:537
 #2: ffffffff8d32e7c0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:350 [inline]
 #2: ffffffff8d32e7c0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:791 [inline]
 #2: ffffffff8d32e7c0 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2283 [inline]
 #2: ffffffff8d32e7c0 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run4+0x16a/0x470 kernel/trace/bpf_trace.c:2325
 #3: ffffffff8d20a6c0 (console_lock){+.+.}-{0:0}, at: _printk+0xd1/0x111 kernel/printk/printk.c:2328
stack backtrace:
CPU: 0 PID: 15086 Comm: syz.0.3005 Not tainted 6.1.134-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call Trace:
 
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 check_noncircular+0x2fa/0x3b0 kernel/locking/lockdep.c:2170
 check_prev_add kernel/locking/lockdep.c:3090 [inline]
 check_prevs_add kernel/locking/lockdep.c:3209 [inline]
 validate_chain+0x1661/0x5950 kernel/locking/lockdep.c:3825
 __lock_acquire+0x125b/0x1f80 kernel/locking/lockdep.c:5049
 lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662
 console_lock_spinning_enable kernel/printk/printk.c:1818 [inline]
 console_emit_next_record+0x76c/0xc30 kernel/printk/printk.c:2774
 console_flush_all kernel/printk/printk.c:-1 [inline]
 console_unlock+0x278/0x7c0 kernel/printk/printk.c:2906
 vprintk_emit+0x523/0x740 kernel/printk/printk.c:2303
 _printk+0xd1/0x111 kernel/printk/printk.c:2328
 fail_dump lib/fault-inject.c:45 [inline]
 should_fail_ex+0x387/0x4d0 lib/fault-inject.c:147
 strncpy_from_user+0x32/0x360 lib/strncpy_from_user.c:118
 strncpy_from_user_nofault+0x6c/0x130 mm/maccess.c:186
 bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:204 [inline]
 ____bpf_probe_read_compat_str kernel/trace/bpf_trace.c:310 [inline]
 bpf_probe_read_compat_str+0xe4/0x180 kernel/trace/bpf_trace.c:306
 bpf_prog_c1796171ffc7efef+0x35/0x37
 bpf_dispatcher_nop_func include/linux/bpf.h:1000 [inline]
 __bpf_prog_run include/linux/filter.h:603 [inline]
 bpf_prog_run include/linux/filter.h:610 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2284 [inline]
 bpf_trace_run4+0x253/0x470 kernel/trace/bpf_trace.c:2325
 __traceiter_sched_switch+0x91/0xc0 include/trace/events/sched.h:222
 trace_sched_switch include/trace/events/sched.h:222 [inline]
 __schedule+0x2128/0x4570 kernel/sched/core.c:6558
 schedule+0xbf/0x180 kernel/sched/core.c:6637
 __lock_sock+0x1c8/0x320 net/core/sock.c:2915
 lock_sock_nested+0x9a/0x100 net/core/sock.c:3493
 lock_sock include/net/sock.h:1756 [inline]
 tipc_sendmsg+0x43/0x70 net/tipc/socket.c:1402
 sock_sendmsg_nosec net/socket.c:718 [inline]
 __sock_sendmsg net/socket.c:730 [inline]
 sock_write_iter+0x394/0x4e0 net/socket.c:1143
 call_write_iter include/linux/fs.h:2265 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x857/0xbc0 fs/read_write.c:584
 ksys_write+0x19c/0x2c0 fs/read_write.c:637
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fd85038d169
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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fd8501de038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fd8505a6080 RCX: 00007fd85038d169
RDX: 0000000000000d24 RSI: 0000000000000000 RDI: 0000000000000006
RBP: 00007fd8501de090 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 0000000000000001 R14: 00007fd8505a6080 R15: 00007ffce17ea5d8
 
CPU: 0 PID: 15086 Comm: syz.0.3005 Not tainted 6.1.134-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call Trace:
 
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 fail_dump lib/fault-inject.c:52 [inline]
 should_fail_ex+0x3a6/0x4d0 lib/fault-inject.c:147
 strncpy_from_user+0x32/0x360 lib/strncpy_from_user.c:118
 strncpy_from_user_nofault+0x6c/0x130 mm/maccess.c:186
 bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:204 [inline]
 ____bpf_probe_read_compat_str kernel/trace/bpf_trace.c:310 [inline]
 bpf_probe_read_compat_str+0xe4/0x180 kernel/trace/bpf_trace.c:306
 bpf_prog_c1796171ffc7efef+0x35/0x37
 bpf_dispatcher_nop_func include/linux/bpf.h:1000 [inline]
 __bpf_prog_run include/linux/filter.h:603 [inline]
 bpf_prog_run include/linux/filter.h:610 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2284 [inline]
 bpf_trace_run4+0x253/0x470 kernel/trace/bpf_trace.c:2325
 __traceiter_sched_switch+0x91/0xc0 include/trace/events/sched.h:222
 trace_sched_switch include/trace/events/sched.h:222 [inline]
 __schedule+0x2128/0x4570 kernel/sched/core.c:6558
 schedule+0xbf/0x180 kernel/sched/core.c:6637
 __lock_sock+0x1c8/0x320 net/core/sock.c:2915
 lock_sock_nested+0x9a/0x100 net/core/sock.c:3493
 lock_sock include/net/sock.h:1756 [inline]
 tipc_sendmsg+0x43/0x70 net/tipc/socket.c:1402
 sock_sendmsg_nosec net/socket.c:718 [inline]
 __sock_sendmsg net/socket.c:730 [inline]
 sock_write_iter+0x394/0x4e0 net/socket.c:1143
 call_write_iter include/linux/fs.h:2265 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x857/0xbc0 fs/read_write.c:584
 ksys_write+0x19c/0x2c0 fs/read_write.c:637
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7fd85038d169
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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fd8501de038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fd8505a6080 RCX: 00007fd85038d169
RDX: 0000000000000d24 RSI: 0000000000000000 RDI: 0000000000000006
RBP: 00007fd8501de090 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 0000000000000001 R14: 00007fd8505a6080 R15: 00007ffce17ea5d8