============================================ WARNING: possible recursive locking detected 6.4.0-rc5-syzkaller-00016-ga4d7d7011219 #0 Not tainted -------------------------------------------- kworker/u4:5/2437 is trying to acquire lock: ffff8880b98295d8 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:999 but task is already holding lock: ffff8880b99295d8 (&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/u4:5/2437: #0: ffff888028f5b138 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_one_work+0x77e/0x10e0 kernel/workqueue.c:2378 #1: ffffc9000b86fd20 ((work_completion)(&(&bat_priv->mcast.work)->work)){+.+.}-{0:0}, at: process_one_work+0x7c8/0x10e0 kernel/workqueue.c:2380 #2: ffff8880b99295d8 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x120/0x260 kernel/time/timer.c:999 #3: ffffffff8d57b5a0 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x79/0x990 lib/debugobjects.c:591 stack backtrace: CPU: 1 PID: 2437 Comm: kworker/u4:5 Not tainted 6.4.0-rc5-syzkaller-00016-ga4d7d7011219 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023 Workqueue: bat_events batadv_mcast_mla_update Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e7/0x2d0 lib/dump_stack.c:106 print_deadlock_bug kernel/locking/lockdep.c:3006 [inline] check_deadlock kernel/locking/lockdep.c:3049 [inline] validate_chain+0x473a/0x58f0 kernel/locking/lockdep.c:3834 __lock_acquire+0x1316/0x2070 kernel/locking/lockdep.c:5088 lock_acquire+0x1e3/0x520 kernel/locking/lockdep.c:5705 __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+0x1b8/0xf40 kernel/time/timer.c:1080 queue_delayed_work_on+0x15a/0x260 kernel/workqueue.c:1710 free_pages_prepare mm/page_alloc.c:1308 [inline] free_unref_page_prepare+0x241/0xa30 mm/page_alloc.c:2564 free_unref_page+0x37/0x3f0 mm/page_alloc.c:2659 __stack_depot_save+0x4ef/0x650 lib/stackdepot.c:443 kasan_save_stack mm/kasan/common.c:46 [inline] kasan_set_track+0x61/0x70 mm/kasan/common.c:52 __kasan_slab_alloc+0x66/0x70 mm/kasan/common.c:328 kasan_slab_alloc include/linux/kasan.h:186 [inline] slab_post_alloc_hook+0x68/0x3a0 mm/slab.h:711 slab_alloc_node mm/slub.c:3451 [inline] slab_alloc mm/slub.c:3459 [inline] __kmem_cache_alloc_lru mm/slub.c:3466 [inline] kmem_cache_alloc+0x11f/0x2e0 mm/slub.c:3475 kmem_cache_zalloc include/linux/slab.h:670 [inline] fill_pool lib/debugobjects.c:168 [inline] debug_objects_fill_pool+0x598/0x990 lib/debugobjects.c:606 debug_object_activate+0x139/0x8b0 lib/debugobjects.c:704 debug_timer_activate kernel/time/timer.c:782 [inline] __mod_timer+0x938/0xf40 kernel/time/timer.c:1119 queue_delayed_work_on+0x15a/0x260 kernel/workqueue.c:1710 queue_delayed_work include/linux/workqueue.h:520 [inline] batadv_mcast_start_timer net/batman-adv/multicast.c:71 [inline] batadv_mcast_mla_update+0x384c/0x3bb0 net/batman-adv/multicast.c:916 process_one_work+0x8a0/0x10e0 kernel/workqueue.c:2405 worker_thread+0xa63/0x1210 kernel/workqueue.c:2552 kthread+0x2b8/0x350 kernel/kthread.c:379 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308