============================= WARNING: suspicious RCU usage 6.8.0-rc2-syzkaller-00419-gb555d191561a #0 Not tainted ----------------------------- net/netfilter/ipset/ip_set_hash_gen.h:455 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by syz-executor.1/310: #0: ffff88802f11c420 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock include/linux/mmap_lock.h:108 [inline] #0: ffff88802f11c420 (&mm->mmap_lock){++++}-{3:3}, at: exit_mmap+0x30f/0xd40 mm/mmap.c:3287 #1: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:298 [inline] #1: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:750 [inline] #1: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: percpu_ref_put_many include/linux/percpu-refcount.h:330 [inline] #1: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: percpu_ref_put+0x19/0x180 include/linux/percpu-refcount.h:351 #2: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:298 [inline] #2: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2184 [inline] #2: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_core+0xcfc/0x1810 kernel/rcu/tree.c:2465 stack backtrace: CPU: 1 PID: 310 Comm: syz-executor.1 Not tainted 6.8.0-rc2-syzkaller-00419-gb555d191561a #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106 lockdep_rcu_suspicious+0x220/0x340 kernel/locking/lockdep.c:6712 hash_netportnet6_destroy+0xf0/0x2c0 net/netfilter/ipset/ip_set_hash_gen.h:455 ip_set_destroy_set net/netfilter/ipset/ip_set_core.c:1180 [inline] ip_set_destroy_set_rcu+0x6a/0xe0 net/netfilter/ipset/ip_set_core.c:1190 rcu_do_batch kernel/rcu/tree.c:2190 [inline] rcu_core+0xd76/0x1810 kernel/rcu/tree.c:2465 __do_softirq+0x2bb/0x942 kernel/softirq.c:553 invoke_softirq kernel/softirq.c:427 [inline] __irq_exit_rcu+0xf1/0x1c0 kernel/softirq.c:632 irq_exit_rcu+0x9/0x30 kernel/softirq.c:644 sysvec_apic_timer_interrupt+0x97/0xb0 arch/x86/kernel/apic/apic.c:1076 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:lock_acquire+0x25a/0x530 kernel/locking/lockdep.c:5758 Code: 2b 00 74 08 4c 89 f7 e8 a4 21 81 00 f6 44 24 61 02 0f 85 8e 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25 RSP: 0018:ffffc9000929f380 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 1ffff92001253e7c RCX: 0000000000000001 RDX: dffffc0000000000 RSI: ffffffff8baac6e0 RDI: ffffffff8bfd93e0 RBP: ffffc9000929f4d0 R08: ffffffff92c52427 R09: 1ffffffff258a484 R10: dffffc0000000000 R11: fffffbfff258a485 R12: 1ffff92001253e78 R13: dffffc0000000000 R14: ffffc9000929f3e0 R15: 0000000000000246 rcu_lock_acquire include/linux/rcupdate.h:298 [inline] rcu_read_lock include/linux/rcupdate.h:750 [inline] percpu_ref_put_many include/linux/percpu-refcount.h:330 [inline] percpu_ref_put+0x36/0x180 include/linux/percpu-refcount.h:351 __mem_cgroup_uncharge_list+0xbe/0x150 mm/memcontrol.c:7508 mem_cgroup_uncharge_list include/linux/memcontrol.h:720 [inline] release_pages+0x210f/0x2400 mm/swap.c:1041 tlb_batch_pages_flush mm/mmu_gather.c:98 [inline] tlb_flush_mmu_free mm/mmu_gather.c:293 [inline] tlb_flush_mmu+0x34c/0x4e0 mm/mmu_gather.c:300 tlb_finish_mmu+0xd4/0x200 mm/mmu_gather.c:392 exit_mmap+0x4b6/0xd40 mm/mmap.c:3292 __mmput+0x115/0x3c0 kernel/fork.c:1343 exit_mm+0x21f/0x310 kernel/exit.c:569 do_exit+0x9af/0x2740 kernel/exit.c:858 do_group_exit+0x206/0x2c0 kernel/exit.c:1020 get_signal+0x176d/0x1850 kernel/signal.c:2893 arch_do_signal_or_restart+0x96/0x860 arch/x86/kernel/signal.c:310 exit_to_user_mode_loop kernel/entry/common.c:105 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:201 [inline] syscall_exit_to_user_mode+0xc8/0x370 kernel/entry/common.c:212 do_syscall_64+0x108/0x240 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x6f/0x77 RIP: 0033:0x7fd5cc47dda9 Code: Unable to access opcode bytes at 0x7fd5cc47dd7f. RSP: 002b:00007fd5cd1ef178 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007fd5cc5abf88 RCX: 00007fd5cc47dda9 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007fd5cc5abf8c RBP: 00007fd5cc5abf80 R08: 00007ffe5a5db0b0 R09: 00007fd5cd1ef6c0 R10: 0000000000000028 R11: 0000000000000246 R12: 00007fd5cc5abf8c R13: 000000000000000b R14: 00007ffe5a5d5c50 R15: 00007ffe5a5d5d38 ---------------- Code disassembly (best guess): 0: 2b 00 sub (%rax),%eax 2: 74 08 je 0xc 4: 4c 89 f7 mov %r14,%rdi 7: e8 a4 21 81 00 call 0x8121b0 c: f6 44 24 61 02 testb $0x2,0x61(%rsp) 11: 0f 85 8e 01 00 00 jne 0x1a5 17: 41 f7 c7 00 02 00 00 test $0x200,%r15d 1e: 74 01 je 0x21 20: fb sti 21: 48 c7 44 24 40 0e 36 movq $0x45e0360e,0x40(%rsp) 28: e0 45 * 2a: 4b c7 44 25 00 00 00 movq $0x0,0x0(%r13,%r12,1) <-- trapping instruction 31: 00 00 33: 43 c7 44 25 09 00 00 movl $0x0,0x9(%r13,%r12,1) 3a: 00 00 3c: 43 rex.XB 3d: c7 .byte 0xc7 3e: 44 rex.R 3f: 25 .byte 0x25