============================= WARNING: suspicious RCU usage 4.17.0-rc2+ #14 Not tainted ----------------------------- include/linux/rcupdate.h:304 Illegal context switch in RCU read-side critical section! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 2 locks held by syz-executor3/16009: #0: (ptrval) (shrinker_rwsem){++++}, at: shrink_slab.part.39+0xe6/0xf90 mm/vmscan.c:509 #1: (ptrval) (rcu_read_lock){....}, at: list_lru_count_one+0xc4/0x440 mm/list_lru.c:183 stack backtrace: CPU: 0 PID: 16009 Comm: syz-executor3 Not tainted 4.17.0-rc2+ #14 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1b9/0x294 lib/dump_stack.c:113 lockdep_rcu_suspicious+0x14a/0x153 kernel/locking/lockdep.c:4592 rcu_preempt_sleep_check include/linux/rcupdate.h:303 [inline] ___might_sleep+0x26d/0x320 kernel/sched/core.c:6153 __might_sleep+0x95/0x190 kernel/sched/core.c:6141 slab_pre_alloc_hook mm/slab.h:421 [inline] slab_alloc mm/slab.c:3378 [inline] __do_kmalloc mm/slab.c:3716 [inline] __kmalloc+0x2b9/0x760 mm/slab.c:3727 kmalloc_array include/linux/slab.h:631 [inline] kcalloc include/linux/slab.h:642 [inline] numa_crng_init drivers/char/random.c:798 [inline] crng_reseed+0x427/0x920 drivers/char/random.c:923 credit_entropy_bits+0x98d/0xa30 drivers/char/random.c:708 add_interrupt_randomness+0x494/0x860 drivers/char/random.c:1254 handle_irq_event_percpu+0xf9/0x1c0 kernel/irq/handle.c:191 handle_irq_event+0xa7/0x135 kernel/irq/handle.c:206 handle_edge_irq+0x20f/0x870 kernel/irq/chip.c:791 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x18c/0x2e7 arch/x86/kernel/irq_64.c:77 do_IRQ+0x78/0x190 arch/x86/kernel/irq.c:245 common_interrupt+0xf/0xf arch/x86/entry/entry_64.S:642 RIP: 0010:__preempt_count_sub arch/x86/include/asm/preempt.h:81 [inline] RIP: 0010:rcu_is_watching+0xf0/0x140 kernel/rcu/tree.c:1076 RSP: 0018:ffff8801ca967258 EFLAGS: 00000282 ORIG_RAX: ffffffffffffffd9 RAX: 000000000005c5d7 RBX: ffffed003952ce4c RCX: 1ffff1003952ce50 RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffff8801dae23610 RBP: ffff8801ca9672e8 R08: ffffed003b5c46c3 R09: ffffed003b5c46c2 R10: ffffed003b5c46c2 R11: ffff8801dae23613 R12: 1ffff1003952ce50 R13: ffff8801dae23610 R14: ffff8801ca9672c0 R15: dffffc0000000000 rcu_read_lock_held+0x87/0xc0 kernel/rcu/update.c:329 list_lru_from_memcg_idx mm/list_lru.c:60 [inline] __list_lru_count_one mm/list_lru.c:173 [inline] list_lru_count_one+0x30d/0x440 mm/list_lru.c:183 list_lru_shrink_count include/linux/list_lru.h:118 [inline] super_cache_count+0x10f/0x280 fs/super.c:134 do_shrink_slab mm/vmscan.c:374 [inline] shrink_slab.part.39+0x330/0xf90 mm/vmscan.c:531 shrink_slab+0xa1/0xc0 mm/vmscan.c:506 shrink_node+0x4f2/0x1740 mm/vmscan.c:2561 shrink_zones mm/vmscan.c:2794 [inline] do_try_to_free_pages+0x3c9/0x1240 mm/vmscan.c:2856 try_to_free_mem_cgroup_pages+0x475/0xc50 mm/vmscan.c:3146 reclaim_high.constprop.67+0x12f/0x1d0 mm/memcontrol.c:1862 mem_cgroup_handle_over_high+0x8d/0x130 mm/memcontrol.c:1887 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x274/0x310 arch/x86/entry/common.c:166 prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline] syscall_return_slowpath+0x516/0x5c0 arch/x86/entry/common.c:265 ret_from_fork+0x15/0x50 arch/x86/entry/entry_64.S:405 RIP: 0033:0x453a3a RSP: 002b:00007ffe6434ac40 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: 0000000000000000 RBX: 00007ffe6434ac40 RCX: 0000000000453a3a RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 00007ffe6434ac80 R08: 0000000000000001 R09: 0000000001717940 R10: 0000000001717c10 R11: 0000000000000246 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000001380 BUG: sleeping function called from invalid context at mm/slab.h:421 in_atomic(): 1, irqs_disabled(): 1, pid: 16009, name: syz-executor3 2 locks held by syz-executor3/16009: #0: (ptrval) (shrinker_rwsem){++++}, at: shrink_slab.part.39+0xe6/0xf90 mm/vmscan.c:509 #1: (ptrval) (rcu_read_lock){....}, at: list_lru_count_one+0xc4/0x440 mm/list_lru.c:183 irq event stamp: 52 hardirqs last enabled at (51): [] count_shadow_nodes+0xc0/0x2e0 mm/workingset.c:372 hardirqs last disabled at (52): [] interrupt_entry+0xb5/0xf0 arch/x86/entry/entry_64.S:625 softirqs last enabled at (22): [] __do_softirq+0x778/0xaf5 kernel/softirq.c:311 softirqs last disabled at (3): [] invoke_softirq kernel/softirq.c:365 [inline] softirqs last disabled at (3): [] irq_exit+0x1d1/0x200 kernel/softirq.c:405 CPU: 0 PID: 16009 Comm: syz-executor3 Not tainted 4.17.0-rc2+ #14 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1b9/0x294 lib/dump_stack.c:113 ___might_sleep.cold.87+0x11f/0x13a kernel/sched/core.c:6188 __might_sleep+0x95/0x190 kernel/sched/core.c:6141 slab_pre_alloc_hook mm/slab.h:421 [inline] slab_alloc mm/slab.c:3378 [inline] __do_kmalloc mm/slab.c:3716 [inline] __kmalloc+0x2b9/0x760 mm/slab.c:3727 kmalloc_array include/linux/slab.h:631 [inline] kcalloc include/linux/slab.h:642 [inline] numa_crng_init drivers/char/random.c:798 [inline] crng_reseed+0x427/0x920 drivers/char/random.c:923 credit_entropy_bits+0x98d/0xa30 drivers/char/random.c:708 add_interrupt_randomness+0x494/0x860 drivers/char/random.c:1254 handle_irq_event_percpu+0xf9/0x1c0 kernel/irq/handle.c:191 handle_irq_event+0xa7/0x135 kernel/irq/handle.c:206 handle_edge_irq+0x20f/0x870 kernel/irq/chip.c:791 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x18c/0x2e7 arch/x86/kernel/irq_64.c:77 do_IRQ+0x78/0x190 arch/x86/kernel/irq.c:245 common_interrupt+0xf/0xf arch/x86/entry/entry_64.S:642 RIP: 0010:__preempt_count_sub arch/x86/include/asm/preempt.h:81 [inline] RIP: 0010:rcu_is_watching+0xf0/0x140 kernel/rcu/tree.c:1076 RSP: 0018:ffff8801ca967258 EFLAGS: 00000282 ORIG_RAX: ffffffffffffffd9 RAX: 000000000005c5d7 RBX: ffffed003952ce4c RCX: 1ffff1003952ce50 RDX: dffffc0000000000 RSI: 0000000000000004 RDI: ffff8801dae23610 RBP: ffff8801ca9672e8 R08: ffffed003b5c46c3 R09: ffffed003b5c46c2 R10: ffffed003b5c46c2 R11: ffff8801dae23613 R12: 1ffff1003952ce50 R13: ffff8801dae23610 R14: ffff8801ca9672c0 R15: dffffc0000000000 rcu_read_lock_held+0x87/0xc0 kernel/rcu/update.c:329 list_lru_from_memcg_idx mm/list_lru.c:60 [inline] __list_lru_count_one mm/list_lru.c:173 [inline] list_lru_count_one+0x30d/0x440 mm/list_lru.c:183 list_lru_shrink_count include/linux/list_lru.h:118 [inline] super_cache_count+0x10f/0x280 fs/super.c:134 do_shrink_slab mm/vmscan.c:374 [inline] shrink_slab.part.39+0x330/0xf90 mm/vmscan.c:531 shrink_slab+0xa1/0xc0 mm/vmscan.c:506 shrink_node+0x4f2/0x1740 mm/vmscan.c:2561 shrink_zones mm/vmscan.c:2794 [inline] do_try_to_free_pages+0x3c9/0x1240 mm/vmscan.c:2856 try_to_free_mem_cgroup_pages+0x475/0xc50 mm/vmscan.c:3146 reclaim_high.constprop.67+0x12f/0x1d0 mm/memcontrol.c:1862 mem_cgroup_handle_over_high+0x8d/0x130 mm/memcontrol.c:1887 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x274/0x310 arch/x86/entry/common.c:166 prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline] syscall_return_slowpath+0x516/0x5c0 arch/x86/entry/common.c:265 ret_from_fork+0x15/0x50 arch/x86/entry/entry_64.S:405 RIP: 0033:0x453a3a RSP: 002b:00007ffe6434ac40 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: 0000000000000000 RBX: 00007ffe6434ac40 RCX: 0000000000453a3a RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 00007ffe6434ac80 R08: 0000000000000001 R09: 0000000001717940 R10: 0000000001717c10 R11: 0000000000000246 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000001380 random: crng init done