============================================
WARNING: possible recursive locking detected
6.10.0-rc7-syzkaller-00254-g528dd46d0fc3 #0 Not tainted
--------------------------------------------
kworker/0:10/5491 is trying to acquire lock:
ffff8880b952a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1051
but task is already holding lock:
ffff8880b942a718 (&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
7 locks held by kworker/0:10/5491:
#0: ffff888015080948 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3223 [inline]
#0: ffff888015080948 ((wq_completion)events){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3329
#1: ffffc900095bfd00 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3224 [inline]
#1: ffffc900095bfd00 ((linkwatch_work).work){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3329
#2: ffffffff8f5ea7c8 (rtnl_mutex){+.+.}-{3:3}, at: linkwatch_event+0xe/0x60 net/core/link_watch.c:276
#3: ffffc90000007ca0 ((&app->join_timer)#2){+.-.}-{0:0}, at: call_timer_fn+0xc0/0x650 kernel/time/timer.c:1789
#4: ffff88806402b8c8 (&app->lock#2){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
#4: ffff88806402b8c8 (&app->lock#2){+.-.}-{2:2}, at: mrp_join_timer+0xce/0x180 net/802/mrp.c:610
#5: ffff8880b942a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1051
#6: ffffffff8ea44480 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x80/0x9b0 lib/debugobjects.c:614
stack backtrace:
CPU: 0 PID: 5491 Comm: kworker/0:10 Not tainted 6.10.0-rc7-syzkaller-00254-g528dd46d0fc3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Workqueue: events linkwatch_event
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+0x15d3/0x5900 kernel/locking/lockdep.c:3856
__lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
lock_acquire+0x1ed/0x550 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+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:2573
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:1012 [inline]
debug_check_no_obj_freed+0x14a/0x580 lib/debugobjects.c:1019
free_pages_prepare mm/page_alloc.c:1100 [inline]
free_unref_page+0x38a/0xea0 mm/page_alloc.c:2588
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:3940 [inline]
slab_alloc_node mm/slub.c:4002 [inline]
kmem_cache_alloc_noprof+0x135/0x2a0 mm/slub.c:4009
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:836 [inline]
__mod_timer+0x89d/0xeb0 kernel/time/timer.c:1171
mrp_join_timer_arm net/802/mrp.c:597 [inline]
mrp_join_timer+0x148/0x180 net/802/mrp.c:612
call_timer_fn+0x18e/0x650 kernel/time/timer.c:1792
expire_timers kernel/time/timer.c:1843 [inline]
__run_timers kernel/time/timer.c:2417 [inline]
__run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2428
run_timer_base kernel/time/timer.c:2437 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2447
handle_softirqs+0x2c4/0x970 kernel/softirq.c:554
do_softirq+0x11b/0x1e0 kernel/softirq.c:455
__local_bh_enable_ip+0x1bb/0x200 kernel/softirq.c:382
br_device_event+0x5f0/0x970 net/bridge/br.c:89
notifier_call_chain+0x19f/0x3e0 kernel/notifier.c:93
netdev_state_change+0x11f/0x1a0 net/core/dev.c:1374
linkwatch_do_dev+0x112/0x170 net/core/link_watch.c:177
__linkwatch_run_queue+0x44f/0x6c0 net/core/link_watch.c:234
linkwatch_event+0x4c/0x60 net/core/link_watch.c:277
process_one_work kernel/workqueue.c:3248 [inline]
process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3329
worker_thread+0x86d/0xd50 kernel/workqueue.c:3409
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