============================= WARNING: suspicious RCU usage 6.8.0-rc2-syzkaller-00199-g021533194476 #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.3/5109: #0: ffff888022960420 (sb_writers#5){.+.+}-{0:0}, at: mnt_want_write+0x3f/0x90 fs/namespace.c:409 #1: ffff8880123a02d0 (&type->i_mutex_dir_key#5/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:837 [inline] #1: ffff8880123a02d0 (&type->i_mutex_dir_key#5/1){+.+.}-{3:3}, at: filename_create+0x260/0x540 fs/namei.c:3891 #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: 0 PID: 5109 Comm: syz-executor.3 Not tainted 6.8.0-rc2-syzkaller-00199-g021533194476 #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:ffffc900042c79b8 EFLAGS: 00000206 RAX: a3d976e2bd122b00 RBX: 0000000000000000 RCX: ffff8880223e8000 RDX: 0000000000000000 RSI: ffffffff8baac6e0 RDI: ffffffff8bfe67e0 RBP: 0000000000000002 R08: ffffffff8f8553af R09: 1ffffffff1f0aa75 R10: dffffc0000000000 R11: fffffbfff1f0aa76 R12: 0000000000000246 R13: ffff8880223e8000 R14: 00000000ffffffff R15: ffffffff8e130a60 lock_is_held include/linux/lockdep.h:231 [inline] __might_resched+0xf4/0x780 kernel/sched/core.c:10138 might_alloc include/linux/sched/mm.h:306 [inline] slab_pre_alloc_hook mm/slub.c:3761 [inline] slab_alloc_node mm/slub.c:3842 [inline] kmem_cache_alloc+0x68/0x340 mm/slub.c:3867 kmem_cache_zalloc include/linux/slab.h:701 [inline] lsm_inode_alloc security/security.c:669 [inline] security_inode_alloc+0x28/0x120 security/security.c:1578 inode_init_always+0x947/0xc70 fs/inode.c:231 alloc_inode fs/inode.c:267 [inline] new_inode_pseudo+0x9e/0x1e0 fs/inode.c:1005 new_inode+0x22/0x1d0 fs/inode.c:1031 __shmem_get_inode mm/shmem.c:2477 [inline] shmem_get_inode+0x34a/0xd40 mm/shmem.c:2548 shmem_mknod+0x5f/0x1d0 mm/shmem.c:3242 shmem_mkdir+0x33/0x70 mm/shmem.c:3303 vfs_mkdir+0x2f9/0x4b0 fs/namei.c:4122 do_mkdirat+0x264/0x3a0 fs/namei.c:4145 __do_sys_mkdirat fs/namei.c:4160 [inline] __se_sys_mkdirat fs/namei.c:4158 [inline] __ia32_sys_mkdirat+0x89/0xa0 fs/namei.c:4158 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0xbd/0x120 arch/x86/entry/common.c:321 do_fast_syscall_32+0x33/0x70 arch/x86/entry/common.c:346 entry_SYSENTER_compat_after_hwframe+0x7c/0x86 RIP: 0023:0xf725a579 Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 RSP: 002b:00000000f74fbd48 EFLAGS: 00000206 ORIG_RAX: 0000000000000128 RAX: ffffffffffffffda RBX: 00000000ffffff9c RCX: 00000000f74fbdf4 RDX: 00000000000001ff RSI: 00000000f74fbdf4 RDI: 00000000f73b0ff4 RBP: 0000000000000bb8 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 vkms_vblank_simulate: vblank timer overrun ---------------- 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