============================= WARNING: suspicious RCU usage 6.8.0-rc2-syzkaller-00397-g56897d51886f #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 4 locks held by syz-executor.1/12687: #0: ffff88807b034b98 (&sbi->s_writepages_rwsem){++++}-{0:0}, at: ext4_writepages_down_read fs/ext4/ext4.h:1767 [inline] #0: ffff88807b034b98 (&sbi->s_writepages_rwsem){++++}-{0:0}, at: ext4_writepages+0x1bd/0x3e0 fs/ext4/inode.c:2773 #1: ffff88807b036950 (jbd2_handle){++++}-{0:0}, at: start_this_handle+0x203c/0x22a0 fs/jbd2/transaction.c:463 #2: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:298 [inline] #2: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:750 [inline] #2: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: unlocked_inode_to_wb_begin include/linux/backing-dev.h:289 [inline] #2: ffffffff8e130ae0 (rcu_read_lock){....}-{1:2}, at: folio_clear_dirty_for_io+0x25c/0xd10 mm/page-writeback.c:2906 #3: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:298 [inline] #3: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_do_batch kernel/rcu/tree.c:2184 [inline] #3: ffffffff8e130ba0 (rcu_callback){....}-{0:0}, at: rcu_core+0xcfc/0x1810 kernel/rcu/tree.c:2465 stack backtrace: CPU: 1 PID: 12687 Comm: syz-executor.1 Not tainted 6.8.0-rc2-syzkaller-00397-g56897d51886f #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:arch_test_and_clear_bit arch/x86/include/asm/bitops.h:161 [inline] RIP: 0010:test_and_clear_bit include/asm-generic/bitops/instrumented-atomic.h:86 [inline] RIP: 0010:folio_test_clear_dirty include/linux/page-flags.h:473 [inline] RIP: 0010:folio_clear_dirty_for_io+0x3dc/0xd10 mm/page-writeback.c:2907 Code: 4e 06 00 00 4c 89 74 24 48 0f 1f 44 00 00 e8 1b 9c c8 ff 4c 89 ef be 08 00 00 00 e8 7e 6c 27 00 45 31 f6 f0 49 0f ba 75 00 04 <0f> 92 c3 41 0f 92 c6 bf 02 00 00 00 44 89 f6 e8 f0 9e c8 ff 31 ff RSP: 0018:ffffc900033a6ec0 EFLAGS: 00000247 RAX: ffffffff81caca01 RBX: 0000000000000000 RCX: ffffffff81caca22 RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffea0000f30800 RBP: ffffc900033a6fc8 R08: ffffea0000f30807 R09: 1ffffd40001e6100 R10: dffffc0000000000 R11: fffff940001e6101 R12: ffffea0000f30808 R13: ffffea0000f30800 R14: 0000000000000000 R15: ffff888023348060 mpage_submit_folio+0x80/0x210 fs/ext4/inode.c:1856 mpage_map_and_submit_buffers fs/ext4/inode.c:2121 [inline] mpage_map_and_submit_extent fs/ext4/inode.c:2260 [inline] ext4_do_writepages+0x1d72/0x3ca0 fs/ext4/inode.c:2685 ext4_writepages+0x203/0x3e0 fs/ext4/inode.c:2774 do_writepages+0x3aa/0x680 mm/page-writeback.c:2553 filemap_fdatawrite_wbc+0x125/0x180 mm/filemap.c:388 __filemap_fdatawrite_range mm/filemap.c:421 [inline] __filemap_fdatawrite mm/filemap.c:427 [inline] filemap_flush+0x11e/0x180 mm/filemap.c:454 ext4_release_file+0x81/0x300 fs/ext4/file.c:169 __fput+0x429/0x8a0 fs/file_table.c:376 task_work_run+0x24e/0x310 kernel/task_work.c:180 exit_task_work include/linux/task_work.h:38 [inline] do_exit+0xa2c/0x2740 kernel/exit.c:871 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] irqentry_exit_to_user_mode+0x78/0x280 kernel/entry/common.c:225 exc_general_protection+0x40d/0x5c0 arch/x86/kernel/traps.c:643 asm_exc_general_protection+0x26/0x30 arch/x86/include/asm/idtentry.h:564 RIP: 0033:0x7f2983c7ddb1 Code: Unable to access opcode bytes at 0x7f2983c7dd87. RSP: 002b:00000000200004f0 EFLAGS: 00010217 RAX: 0000000000000000 RBX: 00007f2983dabf80 RCX: 00007f2983c7dda9 RDX: 0000000020000500 RSI: 00000000200004f0 RDI: 0000000000000480 RBP: 00007f2983cca47a R08: 0000000020000580 R09: 0000000020000580 R10: 0000000020000540 R11: 0000000000000202 R12: 0000000000000000 R13: 000000000000000b R14: 00007f2983dabf80 R15: 00007fff21b7a068 ---------------- Code disassembly (best guess): 0: 4e 06 rex.WRX (bad) 2: 00 00 add %al,(%rax) 4: 4c 89 74 24 48 mov %r14,0x48(%rsp) 9: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) e: e8 1b 9c c8 ff call 0xffc89c2e 13: 4c 89 ef mov %r13,%rdi 16: be 08 00 00 00 mov $0x8,%esi 1b: e8 7e 6c 27 00 call 0x276c9e 20: 45 31 f6 xor %r14d,%r14d 23: f0 49 0f ba 75 00 04 lock btrq $0x4,0x0(%r13) * 2a: 0f 92 c3 setb %bl <-- trapping instruction 2d: 41 0f 92 c6 setb %r14b 31: bf 02 00 00 00 mov $0x2,%edi 36: 44 89 f6 mov %r14d,%esi 39: e8 f0 9e c8 ff call 0xffc89f2e 3e: 31 ff xor %edi,%edi