============================= 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 2 locks held by syz-executor.4/31304: #0: ffff88807da19e20 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock include/linux/mmap_lock.h:108 [inline] #0: ffff88807da19e20 (&mm->mmap_lock){++++}-{3:3}, at: exit_mmap+0x30f/0xd40 mm/mmap.c:3287 #1: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:298 [inline] #1: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2184 [inline] #1: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_core+0xcfc/0x1810 kernel/rcu/tree.c:2465 stack backtrace: CPU: 1 PID: 31304 Comm: syz-executor.4 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_is_held_type+0x13a/0x190 Code: 75 44 48 c7 04 24 00 00 00 00 9c 8f 04 24 f7 04 24 00 02 00 00 75 4c 41 f7 c4 00 02 00 00 74 01 fb 65 48 8b 04 25 28 00 00 00 <48> 3b 44 24 08 75 42 89 d8 48 83 c4 10 5b 41 5c 41 5d 41 5e 41 5f RSP: 0018:ffffc9000ae47678 EFLAGS: 00000206 RAX: d24c8f207df81700 RBX: 0000000000000000 RCX: ffff88802f19bb80 RDX: 0000000000000000 RSI: ffffffff8baac6e0 RDI: ffffffff8bfd93e0 RBP: 0000000000000001 R08: ffffffff92c52457 R09: 1ffffffff258a48a R10: dffffc0000000000 R11: fffffbfff258a48b R12: 0000000000000246 R13: ffff88802f19bb80 R14: 00000000ffffffff R15: ffffffff8e130b40 lock_is_held include/linux/lockdep.h:231 [inline] __might_resched+0xa5/0x780 kernel/sched/core.c:10138 exit_mmap+0x6bc/0xd40 mm/mmap.c:3305 __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:0x7f9e1be7dda9 Code: Unable to access opcode bytes at 0x7f9e1be7dd7f. RSP: 002b:00007f9e1cc01178 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f9e1bfabf88 RCX: 00007f9e1be7dda9 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f9e1bfabf88 RBP: 00007f9e1bfabf80 R08: 00007f9e1cc016c0 R09: 00007f9e1cc016c0 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f9e1bfabf8c R13: 000000000000000b R14: 00007ffebdd38250 R15: 00007ffebdd38338 ---------------- Code disassembly (best guess): 0: 75 44 jne 0x46 2: 48 c7 04 24 00 00 00 movq $0x0,(%rsp) 9: 00 a: 9c pushf b: 8f 04 24 pop (%rsp) e: f7 04 24 00 02 00 00 testl $0x200,(%rsp) 15: 75 4c jne 0x63 17: 41 f7 c4 00 02 00 00 test $0x200,%r12d 1e: 74 01 je 0x21 20: fb sti 21: 65 48 8b 04 25 28 00 mov %gs:0x28,%rax 28: 00 00 * 2a: 48 3b 44 24 08 cmp 0x8(%rsp),%rax <-- trapping instruction 2f: 75 42 jne 0x73 31: 89 d8 mov %ebx,%eax 33: 48 83 c4 10 add $0x10,%rsp 37: 5b pop %rbx 38: 41 5c pop %r12 3a: 41 5d pop %r13 3c: 41 5e pop %r14 3e: 41 5f pop %r15