=============================
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