============================================ WARNING: possible recursive locking detected 6.8.0-rc3-next-20240208-syzkaller #0 Not tainted -------------------------------------------- kworker/u8:0/29638 is trying to acquire lock: ffff8880b9429658 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:999 but task is already holding lock: ffff8880b9529658 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:999 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:0/29638: #0: ffff888024d69148 ((wq_completion)bond10){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3077 [inline] #0: ffff888024d69148 ((wq_completion)bond10){+.+.}-{0:0}, at: process_scheduled_works+0x8e1/0x1730 kernel/workqueue.c:3182 #1: ffffc90013d5fd00 ((work_completion)(&(&bond->alb_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3077 [inline] #1: ffffc90013d5fd00 ((work_completion)(&(&bond->alb_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x8e1/0x1730 kernel/workqueue.c:3182 #2: ffff8880b9529658 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:999 #3: ffffffff8e810cc0 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x80/0x9b0 lib/debugobjects.c:614 stack backtrace: CPU: 1 PID: 29638 Comm: kworker/u8:0 Not tainted 6.8.0-rc3-next-20240208-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Workqueue: bond10 bond_alb_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 check_deadlock kernel/locking/lockdep.c:3062 [inline] validate_chain+0x15c1/0x58e0 kernel/locking/lockdep.c:3856 __lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137 lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754 __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+0x120/0x260 kernel/time/timer.c:999 __mod_timer+0x1ac/0xfd0 kernel/time/timer.c:1080 queue_delayed_work_on+0x15a/0x260 kernel/workqueue.c:2447 queue_delayed_work include/linux/workqueue.h:608 [inline] schedule_delayed_work include/linux/workqueue.h:722 [inline] __debug_check_no_obj_freed lib/debugobjects.c:1012 [inline] debug_check_no_obj_freed+0x14a/0x580 lib/debugobjects.c:1019 free_pages_prepare mm/page_alloc.c:1146 [inline] free_unref_page_prepare+0x319/0xa90 mm/page_alloc.c:2388 free_unref_page+0x37/0x3f0 mm/page_alloc.c:2528 stack_depot_save_flags+0x38f/0x860 lib/stackdepot.c:714 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:3814 [inline] slab_alloc_node mm/slub.c:3861 [inline] kmem_cache_alloc+0x172/0x350 mm/slub.c:3868 kmem_cache_zalloc include/linux/slab.h:701 [inline] fill_pool lib/debugobjects.c:168 [inline] debug_objects_fill_pool+0x4ad/0x9b0 lib/debugobjects.c:615 debug_object_activate+0x135/0x510 lib/debugobjects.c:704 debug_timer_activate kernel/time/timer.c:779 [inline] __mod_timer+0x7e5/0xfd0 kernel/time/timer.c:1119 queue_delayed_work_on+0x15a/0x260 kernel/workqueue.c:2447 queue_delayed_work include/linux/workqueue.h:608 [inline] bond_alb_monitor+0x120e/0x1750 drivers/net/bonding/bond_alb.c:1629 process_one_work kernel/workqueue.c:3102 [inline] process_scheduled_works+0x9d7/0x1730 kernel/workqueue.c:3182 worker_thread+0x86d/0xd70 kernel/workqueue.c:3263 kthread+0x2f0/0x390 kernel/kthread.c:388 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:242