================================ WARNING: inconsistent lock state 4.17.0-rc2+ #22 Not tainted -------------------------------- inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. syz-executor1/4596 [HC1[1]:SC0[0]:HE0:SE1] takes: (ptrval) (fs_reclaim){?.+.}, at: fs_reclaim_acquire.part.82+0x0/0x30 mm/page_alloc.c:463 {HARDIRQ-ON-W} state was registered at: lock_acquire+0x1dc/0x520 kernel/locking/lockdep.c:3920 fs_reclaim_acquire.part.82+0x24/0x30 mm/page_alloc.c:3739 fs_reclaim_acquire+0x14/0x20 mm/page_alloc.c:3740 slab_pre_alloc_hook mm/slab.h:418 [inline] slab_alloc_node mm/slab.c:3299 [inline] kmem_cache_alloc_node_trace+0x39/0x770 mm/slab.c:3661 kmalloc_node include/linux/slab.h:550 [inline] kzalloc_node include/linux/slab.h:712 [inline] alloc_worker+0xbd/0x2e0 kernel/workqueue.c:1704 init_rescuer.part.25+0x1f/0x190 kernel/workqueue.c:4000 init_rescuer kernel/workqueue.c:3997 [inline] workqueue_init+0x51f/0x7d0 kernel/workqueue.c:5732 kernel_init_freeable+0x2ad/0x58e init/main.c:1115 kernel_init+0x11/0x1b3 init/main.c:1053 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412 irq event stamp: 697814 hardirqs last enabled at (697813): [] slab_alloc mm/slab.c:3385 [inline] hardirqs last enabled at (697813): [] kmem_cache_alloc+0x26f/0x760 mm/slab.c:3552 hardirqs last disabled at (697814): [] interrupt_entry+0xb5/0xf0 arch/x86/entry/entry_64.S:625 softirqs last enabled at (697728): [] __do_softirq+0x778/0xaf5 kernel/softirq.c:311 softirqs last disabled at (697713): [] invoke_softirq kernel/softirq.c:365 [inline] softirqs last disabled at (697713): [] irq_exit+0x1d1/0x200 kernel/softirq.c:405 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(fs_reclaim); lock(fs_reclaim); *** DEADLOCK *** 3 locks held by syz-executor1/4596: #0: (ptrval) (&dup_mmap_sem){.+.+}, at: dup_mmap kernel/fork.c:404 [inline] #0: (ptrval) (&dup_mmap_sem){.+.+}, at: dup_mm kernel/fork.c:1234 [inline] #0: (ptrval) (&dup_mmap_sem){.+.+}, at: copy_mm kernel/fork.c:1288 [inline] #0: (ptrval) (&dup_mmap_sem){.+.+}, at: copy_process.part.38+0x2429/0x6e90 kernel/fork.c:1794 #1: (ptrval) (&mm->mmap_sem){++++}, at: dup_mmap kernel/fork.c:405 [inline] #1: (ptrval) (&mm->mmap_sem){++++}, at: dup_mm kernel/fork.c:1234 [inline] #1: (ptrval) (&mm->mmap_sem){++++}, at: copy_mm kernel/fork.c:1288 [inline] #1: (ptrval) (&mm->mmap_sem){++++}, at: copy_process.part.38+0x2445/0x6e90 kernel/fork.c:1794 #2: (ptrval) (&mm->mmap_sem/1){+.+.}, at: dup_mmap kernel/fork.c:414 [inline] #2: (ptrval) (&mm->mmap_sem/1){+.+.}, at: dup_mm kernel/fork.c:1234 [inline] #2: (ptrval) (&mm->mmap_sem/1){+.+.}, at: copy_mm kernel/fork.c:1288 [inline] #2: (ptrval) (&mm->mmap_sem/1){+.+.}, at: copy_process.part.38+0x2499/0x6e90 kernel/fork.c:1794 stack backtrace: CPU: 1 PID: 4596 Comm: syz-executor1 Not tainted 4.17.0-rc2+ #22 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 print_usage_bug.cold.59+0x320/0x41a kernel/locking/lockdep.c:2542 valid_state kernel/locking/lockdep.c:2555 [inline] mark_lock_irq kernel/locking/lockdep.c:2749 [inline] mark_lock+0x1034/0x19e0 kernel/locking/lockdep.c:3147 mark_irqflags kernel/locking/lockdep.c:3022 [inline] __lock_acquire+0x1595/0x5140 kernel/locking/lockdep.c:3388 lock_acquire+0x1dc/0x520 kernel/locking/lockdep.c:3920 fs_reclaim_acquire.part.82+0x24/0x30 mm/page_alloc.c:3739 fs_reclaim_acquire+0x14/0x20 mm/page_alloc.c:3740 slab_pre_alloc_hook mm/slab.h:418 [inline] slab_alloc mm/slab.c:3378 [inline] __do_kmalloc mm/slab.c:3716 [inline] __kmalloc+0x45/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:kasan_check_read+0x8/0x20 mm/kasan/kasan.c:271 RSP: 0018:ffff88019eb0ec58 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffd9 RAX: 0000000000000007 RBX: ffff8801c5e714d0 RCX: 1ffff10033d6099d RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff8801c5e714d0 RBP: ffff88019eb0ec58 R08: 1ffff10033d61d81 R09: ffffed0033efa0bb R10: 0000000000000003 R11: 0000000000000003 R12: 1ffff10033d61d8d R13: 0000000000000000 R14: ffff88019eb0ecc8 R15: 00007ffe1676d000 atomic_read include/asm-generic/atomic-instrumented.h:21 [inline] queued_spin_is_locked include/asm-generic/qspinlock.h:36 [inline] debug_spin_unlock kernel/locking/spinlock_debug.c:98 [inline] do_raw_spin_unlock+0x9e/0x2e0 kernel/locking/spinlock_debug.c:134 __raw_spin_unlock include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock+0x22/0x30 kernel/locking/spinlock.c:176 spin_unlock include/linux/spinlock.h:350 [inline] copy_pte_range mm/memory.c:1112 [inline] copy_pmd_range mm/memory.c:1152 [inline] copy_pud_range mm/memory.c:1186 [inline] copy_p4d_range mm/memory.c:1208 [inline] copy_page_range+0x157f/0x24b0 mm/memory.c:1270 dup_mmap kernel/fork.c:512 [inline] dup_mm kernel/fork.c:1234 [inline] copy_mm kernel/fork.c:1288 [inline] copy_process.part.38+0x4be2/0x6e90 kernel/fork.c:1794 copy_process kernel/fork.c:1607 [inline] _do_fork+0x291/0x12a0 kernel/fork.c:2088 __do_sys_clone kernel/fork.c:2195 [inline] __se_sys_clone kernel/fork.c:2189 [inline] __x64_sys_clone+0xbf/0x150 kernel/fork.c:2189 do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45402a RSP: 002b:0000000000a3ea70 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 0000000000a3ea70 RCX: 000000000045402a RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 0000000000a3eab0 R08: 0000000000000001 R09: 000000000233c940 R10: 000000000233cc10 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: 4596, name: syz-executor1 INFO: lockdep is turned off. irq event stamp: 697814 hardirqs last enabled at (697813): [] slab_alloc mm/slab.c:3385 [inline] hardirqs last enabled at (697813): [] kmem_cache_alloc+0x26f/0x760 mm/slab.c:3552 hardirqs last disabled at (697814): [] interrupt_entry+0xb5/0xf0 arch/x86/entry/entry_64.S:625 softirqs last enabled at (697728): [] __do_softirq+0x778/0xaf5 kernel/softirq.c:311 softirqs last disabled at (697713): [] invoke_softirq kernel/softirq.c:365 [inline] softirqs last disabled at (697713): [] irq_exit+0x1d1/0x200 kernel/softirq.c:405 CPU: 1 PID: 4596 Comm: syz-executor1 Not tainted 4.17.0-rc2+ #22 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:kasan_check_read+0x8/0x20 mm/kasan/kasan.c:271 RSP: 0018:ffff88019eb0ec58 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffd9 RAX: 0000000000000007 RBX: ffff8801c5e714d0 RCX: 1ffff10033d6099d RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff8801c5e714d0 RBP: ffff88019eb0ec58 R08: 1ffff10033d61d81 R09: ffffed0033efa0bb R10: 0000000000000003 R11: 0000000000000003 R12: 1ffff10033d61d8d R13: 0000000000000000 R14: ffff88019eb0ecc8 R15: 00007ffe1676d000 atomic_read include/asm-generic/atomic-instrumented.h:21 [inline] queued_spin_is_locked include/asm-generic/qspinlock.h:36 [inline] debug_spin_unlock kernel/locking/spinlock_debug.c:98 [inline] do_raw_spin_unlock+0x9e/0x2e0 kernel/locking/spinlock_debug.c:134 __raw_spin_unlock include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock+0x22/0x30 kernel/locking/spinlock.c:176 spin_unlock include/linux/spinlock.h:350 [inline] copy_pte_range mm/memory.c:1112 [inline] copy_pmd_range mm/memory.c:1152 [inline] copy_pud_range mm/memory.c:1186 [inline] copy_p4d_range mm/memory.c:1208 [inline] copy_page_range+0x157f/0x24b0 mm/memory.c:1270 dup_mmap kernel/fork.c:512 [inline] dup_mm kernel/fork.c:1234 [inline] copy_mm kernel/fork.c:1288 [inline] copy_process.part.38+0x4be2/0x6e90 kernel/fork.c:1794 copy_process kernel/fork.c:1607 [inline] _do_fork+0x291/0x12a0 kernel/fork.c:2088 __do_sys_clone kernel/fork.c:2195 [inline] __se_sys_clone kernel/fork.c:2189 [inline] __x64_sys_clone+0xbf/0x150 kernel/fork.c:2189 do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45402a RSP: 002b:0000000000a3ea70 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 0000000000a3ea70 RCX: 000000000045402a RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 0000000000a3eab0 R08: 0000000000000001 R09: 000000000233c940 R10: 000000000233cc10 R11: 0000000000000246 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000001380 random: crng init done openvswitch: netlink: Flow set message rejected, Key attribute missing. openvswitch: netlink: Flow set message rejected, Key attribute missing. openvswitch: netlink: Flow set message rejected, Key attribute missing. openvswitch: netlink: Flow set message rejected, Key attribute missing. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. x_tables: eb_tables: arpreply target: used from hooks OUTPUT, but only usable from PREROUTING x_tables: eb_tables: arpreply target: used from hooks OUTPUT, but only usable from PREROUTING sock: sock_set_timeout: `syz-executor4' (pid 10262) tries to set negative timeout TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. sock: sock_set_timeout: `syz-executor4' (pid 10262) tries to set negative timeout