=============================== [ INFO: suspicious RCU usage. ] 4.9.154+ #21 Not tainted ------------------------------- net/ipv6/ip6_fib.c:1470 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 0 6 locks held by syz-executor1/31843: #0: (sb_writers#6){.+.+.+}, at: [] file_start_write include/linux/fs.h:2642 [inline] #0: (sb_writers#6){.+.+.+}, at: [] do_sendfile+0x93a/0xc00 fs/read_write.c:1392 #1: (&sb->s_type->i_mutex_key#10){+.+.+.}, at: [] inode_lock include/linux/fs.h:768 [inline] #1: (&sb->s_type->i_mutex_key#10){+.+.+.}, at: [] generic_file_write_iter+0x9a/0x630 mm/filemap.c:2903 #2: (((&net->ipv6.ip6_fib_timer))){+.-...}, at: [] lockdep_copy_map include/linux/lockdep.h:165 [inline] #2: (((&net->ipv6.ip6_fib_timer))){+.-...}, at: [] call_timer_fn+0xde/0x6d0 kernel/time/timer.c:1309 #3: (&(&net->ipv6.fib6_gc_lock)->rlock){+.-...}, at: [] spin_lock_bh include/linux/spinlock.h:307 [inline] #3: (&(&net->ipv6.fib6_gc_lock)->rlock){+.-...}, at: [] fib6_run_gc+0xa2/0x2e0 net/ipv6/ip6_fib.c:1816 #4: (rcu_read_lock){......}, at: [] __fib6_clean_all+0x0/0x230 net/ipv6/ip6_fib.c:1703 #5: (&tb->tb6_lock){++--..}, at: [] __fib6_clean_all+0xe3/0x230 net/ipv6/ip6_fib.c:1717 stack backtrace: CPU: 1 PID: 31843 Comm: syz-executor1 Not tainted 4.9.154+ #21 ffff8801db707880 ffffffff81b47411 ffff8801d39ea540 0000000000000000 0000000000000002 00000000000005be ffff8801a3c8c740 ffff8801db7078b0 ffffffff813feb85 ffff8801db707ad0 dffffc0000000000 00000000ffffffff Call Trace: [ 3362.540174] [] __dump_stack lib/dump_stack.c:15 [inline] [ 3362.540174] [] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [] lockdep_rcu_suspicious.cold+0x10a/0x149 kernel/locking/lockdep.c:4455 [] fib6_del+0x81f/0xb20 net/ipv6/ip6_fib.c:1470 [] fib6_clean_node+0x29c/0x4d0 net/ipv6/ip6_fib.c:1657 [] fib6_walk_continue+0x3e0/0x630 net/ipv6/ip6_fib.c:1583 [] fib6_walk+0x9d/0xf0 net/ipv6/ip6_fib.c:1628 [] fib6_clean_tree+0xe7/0x120 net/ipv6/ip6_fib.c:1702 [] __fib6_clean_all+0xfb/0x230 net/ipv6/ip6_fib.c:1718 [] fib6_clean_all net/ipv6/ip6_fib.c:1729 [inline] [] fib6_run_gc+0x124/0x2e0 net/ipv6/ip6_fib.c:1826 [] fib6_gc_timer_cb+0x1d/0x30 net/ipv6/ip6_fib.c:1841 [] call_timer_fn+0x167/0x6d0 kernel/time/timer.c:1319 [] expire_timers+0x25b/0x5c0 kernel/time/timer.c:1359 [] __run_timers kernel/time/timer.c:1674 [inline] [] run_timer_softirq+0x1ff/0x620 kernel/time/timer.c:1687 [] __do_softirq+0x22d/0x964 kernel/softirq.c:288 [] invoke_softirq kernel/softirq.c:368 [inline] [] irq_exit+0x119/0x160 kernel/softirq.c:409 [] exiting_irq arch/x86/include/asm/apic.h:669 [inline] [] smp_trace_apic_timer_interrupt+0x11c/0x540 arch/x86/kernel/apic/apic.c:983 [] trace_apic_timer_interrupt+0x9d/0xb0 arch/x86/entry/entry_64.S:648 [ 3362.821252] [] ? constant_test_bit arch/x86/include/asm/bitops.h:311 [inline] [ 3362.821252] [] ? PageUptodate include/linux/page-flags.h:419 [inline] [ 3362.821252] [] ? shmem_getpage_gfp+0x26b/0x1b00 mm/shmem.c:1609 [] constant_test_bit arch/x86/include/asm/bitops.h:311 [inline] [] PageUptodate include/linux/page-flags.h:419 [inline] [] shmem_getpage_gfp+0x26b/0x1b00 mm/shmem.c:1609 [] shmem_getpage mm/shmem.c:123 [inline] [] shmem_write_begin+0xf8/0x1a0 mm/shmem.c:2212 [] generic_perform_write+0x24a/0x500 mm/filemap.c:2753 [] __generic_file_write_iter+0x340/0x530 mm/filemap.c:2878 [] generic_file_write_iter+0x38a/0x630 mm/filemap.c:2906 [] vfs_iter_write+0x2e2/0x460 fs/read_write.c:390 [] iter_file_splice_write+0x5a9/0xb10 fs/splice.c:768 [] do_splice_from fs/splice.c:870 [inline] [] direct_splice_actor+0x126/0x1a0 fs/splice.c:1037 [] splice_direct_to_actor+0x2c8/0x820 fs/splice.c:992 [] do_splice_direct+0x1a5/0x260 fs/splice.c:1080 [] do_sendfile+0x503/0xc00 fs/read_write.c:1393 [] SYSC_sendfile64 fs/read_write.c:1448 [inline] [] SyS_sendfile64+0xd1/0x160 fs/read_write.c:1440 [] do_syscall_64+0x1ad/0x570 arch/x86/entry/common.c:285 [] entry_SYSCALL_64_after_swapgs+0x5d/0xdb