From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4292747254C for ; Tue, 18 Aug 2026 13:07:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787058431; cv=none; b=ZRvHYlVz8FpvqpIb5vbZIlgPogpwG4N2l+GlCCM1oIzSwWy8Pm5SOpUfdox4TENmONyD077cvjGQewcgSJCEi0LK1LQwEDGjI8rLMWXdmfBg3FEDQJ9saUQq7V61ox7CFz5k9uShYqMuyHaAl6aXC6Wf+04jNeHjB7WW8EdwMQY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787058431; c=relaxed/simple; bh=7OYGfzivmuFrtqAGsNm9OI9fjua1uV25bNxeDAtE17I=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=eRRQzMKDwsBr8kuIzYjLg0wGgPj3NvnVef2s5CVYul7mkEsF7Nx31J+6QtGrkJY5ZEtCveS1nWeTWH2DiXUjpEZxzwtdRRgNDYanHXEGoX8XSvRUHmY3qL8Cr/JtvhhJ11IvitXSCDT5cV0nvMevi71W1qWDWU5CouJLSelDp0Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=k/0nwfQR; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="k/0nwfQR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F0361F000E9; Tue, 18 Aug 2026 13:07:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1787058430; bh=EmgX0ImhgIRWvkIgtBMHaGPhyt6izohF0cEz2q0onts=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=k/0nwfQR/21s5QMi3fEr5ZwslmZ1PIwJE+MlT7ma3BTDxHN5ZDUha2JQDUAb/3tDf RBSgFN/4aTT+jbdban1jBFH1NAa5zsjAtEUM78eAgTVu8MjIwLlP9p8rlxr6BvgZ3K DVqZ3cr8GoP4etH4N6wFan4QJgod3RASPmIRAAoOmv/Ba7JJspAIQsFEKIYJC0jqnl Spod8yVmZVi41u+DzaCfL3Obawuy+ce2KiZa1mnv+aAAbwIOwvw20JwT/1kzK5j0VT SQ9fVlfgEk82KNaLuWmbSmZVYzeNUbv7vX2IyMQXtyoCszP/YN0tw4DNng3vv+Ga54 no4oviq28wy5A== From: Thomas Gleixner To: syzbot , linux-kernel@vger.kernel.org, peterz@infradead.org, syzkaller-bugs@googlegroups.com Cc: Tejun Heo , Lai Jiangshan Subject: Re: [syzbot] [kernel?] possible deadlock in bh_worker In-Reply-To: <6a8454a2.ae6ddae5.3da009.0001.GAE@google.com> References: <6a8454a2.ae6ddae5.3da009.0001.GAE@google.com> Date: Tue, 18 Aug 2026 15:07:07 +0200 Message-ID: <8733wblgqs.ffs@fw13> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Tue, Aug 18 2026 at 05:48, syzbot wrote: CC+: Workqueue folks > syzbot found the following issue on: > > HEAD commit: dcb68831eac7 Merge tag 'block-7.2-20260815' of git://git.k.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=11c2d949580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=4c9eb8e593cf8c5c > dashboard link: https://syzkaller.appspot.com/bug?extid=1bd20115328f8254ed62 > compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8 > > Unfortunately, I don't have any reproducer for this issue yet. > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/1174a1aaa938/disk-dcb68831.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/c14ec1120394/vmlinux-dcb68831.xz > kernel image: https://storage.googleapis.com/syzbot-assets/5971a3555672/bzImage-dcb68831.xz > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+1bd20115328f8254ed62@syzkaller.appspotmail.com > > ============================================ > WARNING: possible recursive locking detected > syzkaller #0 Not tainted > -------------------------------------------- > ktimers/0/16 is trying to acquire lock: > ffff8880b873a990 (&pool->cb_lock){+...}-{3:3}, at: spin_lock include/linux/spinlock_rt.h:45 [inline] > ffff8880b873a990 (&pool->cb_lock){+...}-{3:3}, at: worker_lock_callback kernel/workqueue.c:3144 [inline] > ffff8880b873a990 (&pool->cb_lock){+...}-{3:3}, at: bh_worker+0x7d/0x880 kernel/workqueue.c:3688 > > but task is already holding lock: > ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: spin_lock include/linux/spinlock_rt.h:45 [inline] > ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: worker_lock_callback kernel/workqueue.c:3144 [inline] > ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: bh_worker+0x7d/0x880 kernel/workqueue.c:3688 > > other info that might help us debug this: > Possible unsafe locking scenario: > > CPU0 > ---- > lock(&pool->cb_lock); > lock(&pool->cb_lock); > > *** DEADLOCK *** > > May be due to missing lock nesting notation > > 6 locks held by ktimers/0/16: > #0: ffffffff8e059220 (local_bh){.+.+}-{1:3}, at: __local_bh_disable_ip+0x3c/0x420 kernel/softirq.c:163 > #1: ffffffff8e1c3000 (rcu_read_lock){....}-{1:3}, at: __local_bh_disable_ip+0x3c/0x420 kernel/softirq.c:163 > #2: ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: spin_lock include/linux/spinlock_rt.h:45 [inline] > #2: ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: worker_lock_callback kernel/workqueue.c:3144 [inline] > #2: ffff8880b863a990 (&pool->cb_lock){+...}-{3:3}, at: bh_worker+0x7d/0x880 kernel/workqueue.c:3688 > #3: ffffffff8e1c3000 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] > #3: ffffffff8e1c3000 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] > #3: ffffffff8e1c3000 (rcu_read_lock){....}-{1:3}, at: __rt_spin_lock kernel/locking/spinlock_rt.c:50 [inline] > #3: ffffffff8e1c3000 (rcu_read_lock){....}-{1:3}, at: rt_spin_lock+0x1e0/0x400 kernel/locking/spinlock_rt.c:57 > #4: ffff88813ff1dd38 ((wq_completion)events_bh){+...}-{0:0}, at: process_one_work kernel/workqueue.c:3297 [inline] > #4: ffff88813ff1dd38 ((wq_completion)events_bh){+...}-{0:0}, at: process_scheduled_works+0xa20/0x14e0 kernel/workqueue.c:3405 > #5: ffffc90000157ba0 ((work_completion)(&dead_work.work)){+...}-{0:0}, at: process_one_work kernel/workqueue.c:3297 [inline] > #5: ffffc90000157ba0 ((work_completion)(&dead_work.work)){+...}-{0:0}, at: process_scheduled_works+0xa20/0x14e0 kernel/workqueue.c:3405 > > stack backtrace: > CPU: 0 UID: 0 PID: 16 Comm: ktimers/0 Not tainted syzkaller #0 PREEMPT_{RT,(full)} > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 > Call Trace: > > dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 > print_deadlock_bug+0x279/0x290 kernel/locking/lockdep.c:3041 > check_deadlock kernel/locking/lockdep.c:3093 [inline] > validate_chain kernel/locking/lockdep.c:3895 [inline] > __lock_acquire+0x24df/0x2ce0 kernel/locking/lockdep.c:5237 > lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868 > rt_spin_lock+0x83/0x400 kernel/locking/spinlock_rt.c:56 > spin_lock include/linux/spinlock_rt.h:45 [inline] > worker_lock_callback kernel/workqueue.c:3144 [inline] > bh_worker+0x7d/0x880 kernel/workqueue.c:3688 > drain_dead_softirq_workfn+0x95/0x220 kernel/workqueue.c:3763 > process_one_work kernel/workqueue.c:3322 [inline] > process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 > bh_worker+0x46a/0x880 kernel/workqueue.c:3708 > tasklet_action+0xc/0x70 kernel/softirq.c:965 > handle_softirqs+0x1d9/0x6c0 kernel/softirq.c:622 > __do_softirq kernel/softirq.c:656 [inline] > run_ktimerd+0x69/0x100 kernel/softirq.c:1151 > smpboot_thread_fn+0x57c/0xa80 kernel/smpboot.c:160 > kthread+0x388/0x470 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: ktimers/0[16] > preempt=0x00000000 lock=4->0 RCU=2->2 workfn=drain_dead_softirq_workfn > INFO: lockdep is turned off. > CPU: 0 UID: 0 PID: 16 Comm: ktimers/0 Not tainted syzkaller #0 PREEMPT_{RT,(full)} > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 > Call Trace: > > dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 > process_one_work kernel/workqueue.c:3343 [inline] > process_scheduled_works+0x1161/0x14e0 kernel/workqueue.c:3405 > bh_worker+0x46a/0x880 kernel/workqueue.c:3708 > tasklet_action+0xc/0x70 kernel/softirq.c:965 > handle_softirqs+0x1d9/0x6c0 kernel/softirq.c:622 > __do_softirq kernel/softirq.c:656 [inline] > run_ktimerd+0x69/0x100 kernel/softirq.c:1151 > smpboot_thread_fn+0x57c/0xa80 kernel/smpboot.c:160 > kthread+0x388/0x470 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 > > > > --- > This report is generated by a bot. It may contain errors. > See https://goo.gl/tpsmEJ for more information about syzbot. > syzbot engineers can be reached at syzkaller@googlegroups.com. > > syzbot will keep track of this issue. See: > https://goo.gl/tpsmEJ#status for how to communicate with syzbot. > > If the report is already addressed, let syzbot know by replying with: > #syz fix: exact-commit-title > > If you want to overwrite report's subsystems, reply with: > #syz set subsystems: new-subsystem > (See the list of subsystem names on the web dashboard) > > If the report is a duplicate of another one, reply with: > #syz dup: exact-subject-of-another-report > > If you want to undo deduplication, reply with: > #syz undup