BUG: sleeping function called from invalid context at mm/slab.h:421 in_atomic(): 1, irqs_disabled(): 1, pid: 4499, name: syz-fuzzer 3 locks held by syz-fuzzer/4499: #0: (ptrval) (&mm->mmap_sem){++++}, at: __do_page_fault+0x381/0xe40 arch/x86/mm/fault.c:1328 #1: (ptrval) (sb_pagefaults){.+.+}, at: sb_start_pagefault include/linux/fs.h:1579 [inline] #1: (ptrval) (sb_pagefaults){.+.+}, at: ext4_page_mkwrite+0x1c8/0x1420 fs/ext4/inode.c:6094 #2: (ptrval) (jbd2_handle){.+.+}, at: start_this_handle+0x581/0x1250 fs/jbd2/transaction.c:385 irq event stamp: 102089 hardirqs last enabled at (102088): [] __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:168 [inline] hardirqs last enabled at (102088): [] _raw_spin_unlock_irq+0x27/0x70 kernel/locking/spinlock.c:192 hardirqs last disabled at (102089): [] interrupt_entry+0xb5/0xf0 arch/x86/entry/entry_64.S:625 softirqs last enabled at (101996): [] __do_softirq+0x778/0xaf5 kernel/softirq.c:311 softirqs last disabled at (102083): [] invoke_softirq kernel/softirq.c:365 [inline] softirqs last disabled at (102083): [] irq_exit+0x1d1/0x200 kernel/softirq.c:405 CPU: 1 PID: 4499 Comm: syz-fuzzer Not tainted 4.17.0-rc2+ #24 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:arch_local_irq_enable arch/x86/include/asm/paravirt.h:793 [inline] RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:168 [inline] RIP: 0010:_raw_spin_unlock_irq+0x56/0x70 kernel/locking/spinlock.c:192 RSP: 0000:ffff8801daf07968 EFLAGS: 00000282 ORIG_RAX: ffffffffffffffd9 RAX: dffffc0000000000 RBX: ffff8801daf24940 RCX: 1ffff10035b8756d RDX: 1ffffffff11a315f RSI: ffff8801adc3ab48 RDI: ffffffff88d18af8 RBP: ffff8801daf07970 R08: ffff8801adc3aaf8 R09: 0000000000000002 R10: ffff8801adc3a2c0 R11: 0000000000000000 R12: 00000000fffd1f7b R13: 00000000ffffffff R14: ffff8801daf07c48 R15: dffffc0000000000 __run_timers+0xa01/0xc50 kernel/time/timer.c:1669 run_timer_softirq+0x60/0x70 kernel/time/timer.c:1694 __do_softirq+0x2e0/0xaf5 kernel/softirq.c:285 invoke_softirq kernel/softirq.c:365 [inline] irq_exit+0x1d1/0x200 kernel/softirq.c:405 exiting_irq arch/x86/include/asm/apic.h:525 [inline] smp_apic_timer_interrupt+0x17e/0x710 arch/x86/kernel/apic/apic.c:1052 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:863 RIP: 0010:__sanitizer_cov_trace_pc+0x1/0x50 kernel/kcov.c:94 RSP: 0000:ffff8801ac016768 EFLAGS: 00000202 ORIG_RAX: ffffffffffffff13 RAX: 0000000000000000 RBX: 1ffff10035802cf2 RCX: ffffffff819b705e RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000007 RBP: ffff8801ac016a58 R08: ffff8801adc3a2c0 R09: ffffed003b5e46c2 R10: ffffed003b5e46c2 R11: ffff8801daf23613 R12: ffffea0007021240 R13: ffff8801ac016a30 R14: ffffea0007021260 R15: 0000000000000001 touch_buffer fs/buffer.c:59 [inline] __find_get_block+0x360/0xe50 fs/buffer.c:1291 __getblk_gfp+0xd6/0xaf0 fs/buffer.c:1309 sb_getblk include/linux/buffer_head.h:327 [inline] __ext4_get_inode_loc+0x4c5/0x14a0 fs/ext4/inode.c:4526 ext4_get_inode_loc fs/ext4/inode.c:4639 [inline] ext4_reserve_inode_write+0xf8/0x260 fs/ext4/inode.c:5760 ext4_mark_inode_dirty+0x177/0xb20 fs/ext4/inode.c:5912 ext4_dirty_inode+0x97/0xc0 fs/ext4/inode.c:5951 __mark_inode_dirty+0x811/0x1530 fs/fs-writeback.c:2129 generic_update_time+0x255/0x420 fs/inode.c:1656 update_time fs/inode.c:1672 [inline] file_update_time+0x384/0x640 fs/inode.c:1883 ext4_page_mkwrite+0x1f6/0x1420 fs/ext4/inode.c:6095 do_page_mkwrite+0x146/0x500 mm/memory.c:2371 wp_page_shared mm/memory.c:2667 [inline] do_wp_page+0xf5d/0x1990 mm/memory.c:2767 handle_pte_fault mm/memory.c:3979 [inline] __handle_mm_fault+0x2996/0x4310 mm/memory.c:4087 handle_mm_fault+0x53a/0xc70 mm/memory.c:4124 __do_page_fault+0x60b/0xe40 arch/x86/mm/fault.c:1399 do_page_fault+0xee/0x8a7 arch/x86/mm/fault.c:1474 page_fault+0x1e/0x30 arch/x86/entry/entry_64.S:1160 RIP: 0033:0x708ba1 RSP: 002b:000000c4251cd1c0 EFLAGS: 00010212 RAX: 000000c4251cd908 RBX: 000000c4251cd910 RCX: 00007f5d932e5000 RDX: fffffffffffffffe RSI: 0000000001018658 RDI: 000000c4251cd1d0 RBP: 000000c4251cd1d0 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000093effa R11: 0000000000000004 R12: 0000000000000000 R13: 0000000000000020 R14: 0000000000000013 R15: 000000c4251cdab8 random: crng init done 9pnet_virtio: no channels available for device ./file0 sock: sock_set_timeout: `syz-executor5' (pid 9822) tries to set negative timeout sock: sock_set_timeout: `syz-executor5' (pid 9822) tries to set negative timeout 9pnet_virtio: no channels available for device ./file0 rpcbind: RPC call returned error 22 rpcbind: RPC call returned error 22