============================================ WARNING: possible recursive locking detected 6.11.0-rc5-syzkaller-00751-gcff69f72d333 #0 Not tainted -------------------------------------------- kworker/u8:2/35 is trying to acquire lock: ffff8880b882a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1051 but task is already holding lock: ffff8880b892a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1051 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&base->lock); lock(&base->lock); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by kworker/u8:2/35: #0: ffff888030bd1948 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888030bd1948 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90000ab7d00 ((work_completion)(&(&bat_priv->nc.work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90000ab7d00 ((work_completion)(&(&bat_priv->nc.work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffff8880b892a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1051 #3: ffffffff8f0549e0 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x80/0x9b0 lib/debugobjects.c:615 stack backtrace: CPU: 1 UID: 0 PID: 35 Comm: kworker/u8:2 Not tainted 6.11.0-rc5-syzkaller-00751-gcff69f72d333 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Workqueue: bat_events batadv_nc_worker Call Trace: __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119 check_deadlock kernel/locking/lockdep.c:3061 [inline] validate_chain+0x15d3/0x5900 kernel/locking/lockdep.c:3855 __lock_acquire+0x137a/0x2040 kernel/locking/lockdep.c:5142 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 lock_timer_base+0x112/0x240 kernel/time/timer.c:1051 __mod_timer+0x1ca/0xeb0 kernel/time/timer.c:1132 queue_delayed_work_on+0x1ca/0x390 kernel/workqueue.c:2554 queue_delayed_work include/linux/workqueue.h:636 [inline] schedule_delayed_work include/linux/workqueue.h:776 [inline] __debug_check_no_obj_freed lib/debugobjects.c:1013 [inline] debug_check_no_obj_freed+0x14a/0x580 lib/debugobjects.c:1020 free_pages_prepare mm/page_alloc.c:1101 [inline] free_unref_page+0x38a/0xea0 mm/page_alloc.c:2612 stack_depot_save_flags+0x6f6/0x830 lib/stackdepot.c:666 kasan_save_stack mm/kasan/common.c:48 [inline] kasan_save_track+0x51/0x80 mm/kasan/common.c:68 unpoison_slab_object mm/kasan/common.c:312 [inline] __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:338 kasan_slab_alloc include/linux/kasan.h:201 [inline] slab_post_alloc_hook mm/slub.c:3988 [inline] slab_alloc_node mm/slub.c:4037 [inline] kmem_cache_alloc_noprof+0x135/0x2a0 mm/slub.c:4044 fill_pool lib/debugobjects.c:169 [inline] debug_objects_fill_pool+0x52b/0x9b0 lib/debugobjects.c:616 debug_object_activate+0x135/0x510 lib/debugobjects.c:705 debug_timer_activate kernel/time/timer.c:836 [inline] __mod_timer+0x89d/0xeb0 kernel/time/timer.c:1171 queue_delayed_work_on+0x1ca/0x390 kernel/workqueue.c:2554 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244