=============================
[ BUG: Invalid wait context ]
syzkaller #0 Tainted: G L
-----------------------------
kworker/u8:12/7350 is trying to lock:
ffff888030d24fe8 (iommu_sva_lock){+.+.}-{4:4}, at: spin_lock include/linux/spinlock.h:347 [inline]
ffff888030d24fe8 (iommu_sva_lock){+.+.}-{4:4}, at: tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291
other info that might help us debug this:
context-{3:3}
locks held by kworker/u8:12/7350: 6, last CPU#0:
#0: ffff88801b0ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#0: ffff88801b0ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#0: ffff88801b0ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3352 [inline]
#0: ffff88801b0ac140 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3470
#1: ffffc9000ddafc40 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#1: ffffc9000ddafc40 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#1: ffffc9000ddafc40 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3352 [inline]
#1: ffffc9000ddafc40 ((work_completion)(&(&nsim_dev->trap_data->trap_report_dw)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3470
#2: ffff888022697258 (&devlink->lock_key#12){+.+.}-{4:4}, at: nsim_dev_trap_report_work+0x57/0xb40 drivers/net/netdevsim/dev.c:834
#3: ffff88807af084e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:347 [inline]
#3: ffff88807af084e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: nsim_dev_trap_report drivers/net/netdevsim/dev.c:787 [inline]
#3: ffff88807af084e0 (&nsim_trap_data->trap_lock){+.+.}-{3:3}, at: nsim_dev_trap_report_work+0x19e/0xb40 drivers/net/netdevsim/dev.c:847
#4: ffff88801b069540 ((wq_completion)events_bh){+.-.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#4: ffff88801b069540 ((wq_completion)events_bh){+.-.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#4: ffff88801b069540 ((wq_completion)events_bh){+.-.}-{0:0}, at: process_one_work kernel/workqueue.c:3352 [inline]
#4: ffff88801b069540 ((wq_completion)events_bh){+.-.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3470
#5: ffffc90000007e00 ((work_completion)(&tsq->work)){+.-.}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
#5: ffffc90000007e00 ((work_completion)(&tsq->work)){+.-.}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline]
#5: ffffc90000007e00 ((work_completion)(&tsq->work)){+.-.}-{0:0}, at: process_one_work kernel/workqueue.c:3352 [inline]
#5: ffffc90000007e00 ((work_completion)(&tsq->work)){+.-.}-{0:0}, at: process_scheduled_works+0x97a/0x1630 kernel/workqueue.c:3470
stack backtrace:
CPU: 0 UID: 0 PID: 7350 Comm: kworker/u8:12 Tainted: G L syzkaller #0 PREEMPT(full)
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: events_unbound nsim_dev_trap_report_work
Call Trace:
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
print_lock_invalid_wait_context kernel/locking/lockdep.c:4846 [inline]
check_wait_context kernel/locking/lockdep.c:4918 [inline]
__lock_acquire+0xef0/0x2e50 kernel/locking/lockdep.c:5204
lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5908
__raw_spin_lock include/linux/spinlock_api_smp.h:190 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173
spin_lock include/linux/spinlock.h:347 [inline]
tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291
tcp_tsq_workfn+0x384/0x410 net/ipv4/tcp_output.c:1325
process_one_work kernel/workqueue.c:3387 [inline]
process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3470
bh_worker+0x451/0x870 kernel/workqueue.c:3773
tasklet_action+0xc/0x70 kernel/softirq.c:997
handle_softirqs+0x226/0x860 kernel/softirq.c:645
do_softirq+0x77/0xd0 kernel/softirq.c:546
__local_bh_enable_ip+0x100/0x140 kernel/softirq.c:473
local_bh_enable include/linux/bottom_half.h:33 [inline]
__alloc_skb+0x1b1/0x7a0 net/core/skbuff.c:699
alloc_skb include/linux/skbuff.h:1384 [inline]
nsim_dev_trap_skb_build drivers/net/netdevsim/dev.c:744 [inline]
nsim_dev_trap_report drivers/net/netdevsim/dev.c:801 [inline]
nsim_dev_trap_report_work+0x25f/0xb40 drivers/net/netdevsim/dev.c:847
process_one_work kernel/workqueue.c:3387 [inline]
process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3470
worker_thread+0xa47/0xfb0 kernel/workqueue.c:3551
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
BUG: workqueue leaked atomic, lock or RCU: kworker/u8:12[7350]
preempt=0x00000102 lock=4->0 RCU=0->0 workfn=tcp_tsq_workfn
INFO: lockdep is turned off.
CPU: 0 UID: 0 PID: 7350 Comm: kworker/u8:12 Tainted: G L syzkaller #0 PREEMPT(full)
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: events_unbound nsim_dev_trap_report_work
Call Trace:
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
process_one_work kernel/workqueue.c:3408 [inline]
process_scheduled_works+0x12c7/0x1630 kernel/workqueue.c:3470
bh_worker+0x451/0x870 kernel/workqueue.c:3773
tasklet_action+0xc/0x70 kernel/softirq.c:997
handle_softirqs+0x226/0x860 kernel/softirq.c:645
do_softirq+0x77/0xd0 kernel/softirq.c:546
__local_bh_enable_ip+0x100/0x140 kernel/softirq.c:473
local_bh_enable include/linux/bottom_half.h:33 [inline]
__alloc_skb+0x1b1/0x7a0 net/core/skbuff.c:699
alloc_skb include/linux/skbuff.h:1384 [inline]
nsim_dev_trap_skb_build drivers/net/netdevsim/dev.c:744 [inline]
nsim_dev_trap_report drivers/net/netdevsim/dev.c:801 [inline]
nsim_dev_trap_report_work+0x25f/0xb40 drivers/net/netdevsim/dev.c:847
process_one_work kernel/workqueue.c:3387 [inline]
process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3470
worker_thread+0xa47/0xfb0 kernel/workqueue.c:3551
kthread+0x38b/0x480 kernel/kthread.c:436
ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245