============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- kworker/u8:4/60 is trying to acquire lock: ffffe8ffffd6c028 (&pd_list->lock){+...}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline] ffffe8ffffd6c028 (&pd_list->lock){+...}-{3:3}, at: padata_find_next kernel/padata.c:256 [inline] ffffe8ffffd6c028 (&pd_list->lock){+...}-{3:3}, at: padata_reorder kernel/padata.c:313 [inline] ffffe8ffffd6c028 (&pd_list->lock){+...}-{3:3}, at: padata_do_serial+0x707/0xb80 kernel/padata.c:383 but task is already holding lock: ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline] ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: padata_reorder kernel/padata.c:304 [inline] ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: padata_do_serial+0x590/0xb80 kernel/padata.c:383 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&pd_list->lock); lock(&pd_list->lock); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by kworker/u8:4/60: #0: ffff88801d3ab948 ((wq_completion)pencrypt_parallel){+.+.}-{0:0}, at: process_one_work+0x841/0x15d0 kernel/workqueue.c:3242 #1: ffffc9000211fb80 ((work_completion)(&pw->pw_work)){+.+.}-{0:0}, at: process_one_work+0x868/0x15d0 kernel/workqueue.c:3243 #2: ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: spin_lock include/linux/spinlock.h:351 [inline] #2: ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: padata_reorder kernel/padata.c:304 [inline] #2: ffffe8ffffd6c5a8 (&pd_list->lock){+...}-{3:3}, at: padata_do_serial+0x590/0xb80 kernel/padata.c:383 stack backtrace: CPU: 1 UID: 0 PID: 60 Comm: kworker/u8:4 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025 Workqueue: pencrypt_parallel padata_parallel_worker Call Trace: dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_deadlock_bug+0x28b/0x2a0 kernel/locking/lockdep.c:3041 check_deadlock kernel/locking/lockdep.c:3093 [inline] validate_chain+0x1a3f/0x2140 kernel/locking/lockdep.c:3895 __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237 lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] padata_find_next kernel/padata.c:256 [inline] padata_reorder kernel/padata.c:313 [inline] padata_do_serial+0x707/0xb80 kernel/padata.c:383 padata_parallel_worker+0x75/0x1d0 kernel/padata.c:157 process_one_work+0x94a/0x15d0 kernel/workqueue.c:3267 process_scheduled_works kernel/workqueue.c:3350 [inline] worker_thread+0x9b0/0xee0 kernel/workqueue.c:3431 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x599/0xb30 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245