============================================ WARNING: possible recursive locking detected 6.9.0-rc6-syzkaller-00053-g0106679839f7 #0 Not tainted -------------------------------------------- syz-executor.4/6192 is trying to acquire lock: ffff8880b942a718 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1052 but task is already holding lock: ffff8880b952b7d8 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1052 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 syz-executor.4/6192: #0: ffffffff8f5a69c8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock net/core/rtnetlink.c:79 [inline] #0: ffffffff8f5a69c8 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x842/0x10d0 net/core/rtnetlink.c:6592 #1: ffffffff8e334dc0 (rcu_read_lock_bh){....}-{1:2}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #1: ffffffff8e334dc0 (rcu_read_lock_bh){....}-{1:2}, at: rcu_read_lock_bh include/linux/rcupdate.h:833 [inline] #1: ffffffff8e334dc0 (rcu_read_lock_bh){....}-{1:2}, at: addrconf_verify_rtnl+0x4d/0x13b0 net/ipv6/addrconf.c:4614 #2: ffff8880b952b7d8 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x112/0x240 kernel/time/timer.c:1052 #3: ffffffff8ea34f00 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x80/0x9b0 lib/debugobjects.c:614 stack backtrace: CPU: 1 PID: 6192 Comm: syz-executor.4 Not tainted 6.9.0-rc6-syzkaller-00053-g0106679839f7 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 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+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:1052 __mod_timer+0x1ca/0xeb0 kernel/time/timer.c:1133 queue_delayed_work_on+0x15a/0x260 kernel/workqueue.c:2608 queue_delayed_work include/linux/workqueue.h:620 [inline] schedule_delayed_work include/linux/workqueue.h:734 [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:1147 [inline] free_unref_page_prepare+0x322/0xab0 mm/page_alloc.c:2347 free_unref_page+0x37/0x3f0 mm/page_alloc.c:2487 stack_depot_save_flags+0x6f6/0x830 lib/stackdepot.c:673 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:3798 [inline] slab_alloc_node mm/slub.c:3845 [inline] kmem_cache_alloc+0x174/0x340 mm/slub.c:3852 kmem_cache_zalloc include/linux/slab.h:739 [inline] fill_pool lib/debugobjects.c:168 [inline] debug_objects_fill_pool+0x756/0x9b0 lib/debugobjects.c:615 debug_object_activate+0x135/0x510 lib/debugobjects.c:704 debug_timer_activate kernel/time/timer.c:837 [inline] __mod_timer+0x89d/0xeb0 kernel/time/timer.c:1172 mod_delayed_work_on+0x105/0x250 kernel/workqueue.c:2647 mod_delayed_work include/linux/workqueue.h:635 [inline] addrconf_verify_rtnl+0x12a7/0x13b0 net/ipv6/addrconf.c:4723 inet6_addr_add+0x834/0xb00 net/ipv6/addrconf.c:3081 inet6_rtm_newaddr+0x8a3/0xc80 net/ipv6/addrconf.c:5046 rtnetlink_rcv_msg+0x89b/0x10d0 net/core/rtnetlink.c:6595 netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2559 netlink_unicast_kernel net/netlink/af_netlink.c:1335 [inline] netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1361 netlink_sendmsg+0x8e1/0xcb0 net/netlink/af_netlink.c:1905 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:745 __sys_sendto+0x3a4/0x4f0 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0xde/0x100 net/socket.c:2199 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0c3747fb9c Code: 1a 51 02 00 44 8b 4c 24 2c 4c 8b 44 24 20 89 c5 44 8b 54 24 28 48 8b 54 24 18 b8 2c 00 00 00 48 8b 74 24 10 8b 7c 24 08 0f 05 <48> 3d 00 f0 ff ff 77 34 89 ef 48 89 44 24 08 e8 60 51 02 00 48 8b RSP: 002b:00007f0c376cf650 EFLAGS: 00000293 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 00007f0c380d4620 RCX: 00007f0c3747fb9c RDX: 0000000000000040 RSI: 00007f0c380d4670 RDI: 0000000000000003 RBP: 0000000000000000 R08: 00007f0c376cf6a4 R09: 000000000000000c R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003 R13: 0000000000000000 R14: 00007f0c380d4670 R15: 0000000000000000 veth0_vlan: entered promiscuous mode veth1_vlan: entered promiscuous mode veth0_macvtap: entered promiscuous mode veth1_macvtap: entered promiscuous mode batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: batadv0: Interface activated: batadv_slave_0 batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: batadv0: Interface activated: batadv_slave_1 netdevsim netdevsim4 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim4 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 ieee80211 phy26: Selected rate control algorithm 'minstrel_ht' ieee80211 phy27: Selected rate control algorithm 'minstrel_ht'