=============================
WARNING: suspicious RCU usage
6.1.90-syzkaller #0 Not tainted
-----------------------------
net/bridge/br_private.h:1499 suspicious rcu_dereference_protected() usage!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1
7 locks held by syz-executor.0/4246:
#0: ffff0000d668c348 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:87 [inline]
#0: ffff0000d668c348 (&mm->mmap_lock){++++}-{3:3}, at: dup_mmap kernel/fork.c:593 [inline]
#0: ffff0000d668c348 (&mm->mmap_lock){++++}-{3:3}, at: dup_mm kernel/fork.c:1540 [inline]
#0: ffff0000d668c348 (&mm->mmap_lock){++++}-{3:3}, at: copy_mm+0x314/0x13f0 kernel/fork.c:1589
#1: ffff0000c6c00d48 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:78 [inline]
#1: ffff0000c6c00d48 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:602 [inline]
#1: ffff0000c6c00d48 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm kernel/fork.c:1540 [inline]
#1: ffff0000c6c00d48 (&mm->mmap_lock/1){+.+.}-{3:3}, at: copy_mm+0x3cc/0x13f0 kernel/fork.c:1589
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1042 [inline]
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1177 [inline]
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1214 [inline]
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1238 [inline]
#2: ffff0000d2582138 (ptlock_ptr(page)#2){+.+.}-{2:2}, at: copy_page_range+0xac0/0x38d0 mm/memory.c:1336
#3: ffff0000cf864738 (ptlock_ptr(page)#2/1){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1049 [inline]
#3: ffff0000cf864738 (ptlock_ptr(page)#2/1){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1177 [inline]
#3: ffff0000cf864738 (ptlock_ptr(page)#2/1){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1214 [inline]
#3: ffff0000cf864738 (ptlock_ptr(page)#2/1){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1238 [inline]
#3: ffff0000cf864738 (ptlock_ptr(page)#2/1){+.+.}-{2:2}, at: copy_page_range+0xb70/0x38d0 mm/memory.c:1336
#4: ffff800015a14ca0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x18/0x54 include/linux/rcupdate.h:349
#5: ffff800008017c80 ((&p->forward_delay_timer)){+.-.}-{0:0}, at: lockdep_copy_map include/linux/lockdep.h:41 [inline]
#5: ffff800008017c80 ((&p->forward_delay_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd0/0xa1c kernel/time/timer.c:1494
#6: ffff0000f2e28c98 (&br->lock){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
#6: ffff0000f2e28c98 (&br->lock){+.-.}-{2:2}, at: br_forward_delay_timer_expired+0x58/0x404 net/bridge/br_stp_timer.c:86
stack backtrace:
CPU: 1 PID: 4246 Comm: syz-executor.0 Not tainted 6.1.90-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call trace:
dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
lockdep_rcu_suspicious+0x260/0x464 kernel/locking/lockdep.c:6592
nbp_vlan_group net/bridge/br_private.h:1499 [inline]
br_mst_set_state+0x1b8/0x5b0 net/bridge/br_mst.c:105
br_set_state+0x21c/0x670 net/bridge/br_stp.c:47
br_forward_delay_timer_expired+0x164/0x404 net/bridge/br_stp_timer.c:88
call_timer_fn+0x1c0/0xa1c kernel/time/timer.c:1504
expire_timers kernel/time/timer.c:1549 [inline]
__run_timers+0x554/0x718 kernel/time/timer.c:1820
run_timer_softirq+0x7c/0x114 kernel/time/timer.c:1833
__do_softirq+0x314/0xe38 kernel/softirq.c:571
____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:80
call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:893
do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:85
invoke_softirq kernel/softirq.c:452 [inline]
__irq_exit_rcu+0x264/0x4d4 kernel/softirq.c:650
irq_exit_rcu+0x14/0x84 kernel/softirq.c:662
__el1_irq arch/arm64/kernel/entry-common.c:472 [inline]
el1_interrupt+0x38/0x68 arch/arm64/kernel/entry-common.c:486
el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:491
el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:581
arch_local_irq_restore arch/arm64/include/asm/irqflags.h:122 [inline]
lock_acquire+0x2ac/0x7cc kernel/locking/lockdep.c:5665
rcu_lock_acquire+0x44/0x54 include/linux/rcupdate.h:350
rcu_read_lock include/linux/rcupdate.h:791 [inline]
page_ext_get+0x2c/0x2d0 mm/page_ext.c:157
page_table_check_set+0x9c/0x47c mm/page_table_check.c:109
__page_table_check_pte_set+0x110/0x134 mm/page_table_check.c:199
page_table_check_pte_set include/linux/page_table_check.h:83 [inline]
set_pte_at arch/arm64/include/asm/pgtable.h:357 [inline]
copy_present_pte mm/memory.c:1000 [inline]
copy_pte_range mm/memory.c:1091 [inline]
copy_pmd_range mm/memory.c:1177 [inline]
copy_pud_range mm/memory.c:1214 [inline]
copy_p4d_range mm/memory.c:1238 [inline]
copy_page_range+0x28b0/0x38d0 mm/memory.c:1336
dup_mmap kernel/fork.c:699 [inline]
dup_mm kernel/fork.c:1540 [inline]
copy_mm+0xc2c/0x13f0 kernel/fork.c:1589
copy_process+0x1798/0x38d0 kernel/fork.c:2267
kernel_clone+0x1d8/0x98c kernel/fork.c:2682
__do_sys_clone kernel/fork.c:2823 [inline]
__se_sys_clone kernel/fork.c:2791 [inline]
__arm64_sys_clone+0x1e0/0x234 kernel/fork.c:2791
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206
el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
bridge0: port 1(bridge_slave_0) entered learning state
bridge0: port 2(bridge_slave_1) entered learning state