===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 4.14.175-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.4/15169 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (&(&info->lock)->rlock){+.+.}, at: [] shmem_uncharge+0x24/0x250 mm/shmem.c:318 and this task is already holding: (&(&mapping->tree_lock)->rlock){-.-.}, at: [] spin_lock include/linux/spinlock.h:317 [inline] (&(&mapping->tree_lock)->rlock){-.-.}, at: [] split_huge_page_to_list+0x548/0x1f40 mm/huge_memory.c:2625 which would create a new lock dependency: (&(&mapping->tree_lock)->rlock){-.-.} -> (&(&info->lock)->rlock){+.+.} but this new dependency connects a HARDIRQ-irq-safe lock: (&(&mapping->tree_lock)->rlock){-.-.} ... which became HARDIRQ-irq-safe at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 test_clear_page_writeback+0x199/0xc20 mm/page-writeback.c:2742 end_page_writeback+0xe4/0x210 mm/filemap.c:1153 ext4_finish_bio+0x483/0x710 fs/ext4/page-io.c:118 ext4_end_bio+0x14b/0x5a0 fs/ext4/page-io.c:342 bio_endio+0x315/0x670 block/bio.c:1918 req_bio_endio block/blk-core.c:204 [inline] blk_update_request+0x27a/0x9d0 block/blk-core.c:2763 scsi_end_request+0x7d/0x9b0 drivers/scsi/scsi_lib.c:659 scsi_io_completion+0xa63/0x1590 drivers/scsi/scsi_lib.c:885 scsi_softirq_done+0x2c8/0x360 drivers/scsi/scsi_lib.c:1671 __blk_mq_complete_request+0x30b/0x6c0 block/blk-mq.c:571 blk_mq_complete_request+0x51/0x60 block/blk-mq.c:591 virtscsi_vq_done+0xa7/0x130 drivers/scsi/virtio_scsi.c:223 vring_interrupt+0x101/0x150 drivers/virtio/virtio_ring.c:951 __handle_irq_event_percpu+0x125/0x7e0 kernel/irq/handle.c:147 handle_irq_event_percpu+0x66/0x120 kernel/irq/handle.c:187 handle_irq_event+0xa2/0x12d kernel/irq/handle.c:204 handle_edge_irq+0x215/0x810 kernel/irq/chip.c:770 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x35/0x50 arch/x86/kernel/irq_64.c:87 do_IRQ+0x93/0x1d0 arch/x86/kernel/irq.c:230 ret_from_intr+0x0/0x1e arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline] queue_delayed_work_on+0xf2/0x1d0 kernel/workqueue.c:1567 kblockd_schedule_delayed_work_on+0x26/0x30 block/blk-core.c:3248 __blk_mq_delay_run_hw_queue+0x113/0x1f0 block/blk-mq.c:1251 blk_mq_sched_insert_request+0x32e/0x550 block/blk-mq-sched.c:387 blk_mq_make_request+0x51e/0x1aa0 block/blk-mq.c:1750 generic_make_request block/blk-core.c:2227 [inline] generic_make_request+0x205/0xa40 block/blk-core.c:2171 submit_bio+0x18f/0x3a0 block/blk-core.c:2301 submit_bh_wbc+0x52e/0x700 fs/buffer.c:3152 ext4_read_inode_bitmap+0xbac/0x18e0 fs/ext4/ialloc.c:198 ext4_free_inode+0x4cd/0x1480 fs/ext4/ialloc.c:291 ext4_evict_inode+0xe50/0x1520 fs/ext4/inode.c:341 evict+0x2c8/0x5f0 fs/inode.c:555 iput_final fs/inode.c:1524 [inline] iput fs/inode.c:1551 [inline] iput+0x457/0x8d0 fs/inode.c:1536 dentry_unlink_inode+0x26e/0x330 fs/dcache.c:387 __dentry_kill+0x320/0x550 fs/dcache.c:591 dentry_kill fs/dcache.c:632 [inline] dput.part.0+0x4be/0x710 fs/dcache.c:847 dput+0x1b/0x30 fs/dcache.c:811 SYSC_renameat2 fs/namei.c:4648 [inline] SyS_renameat2 fs/namei.c:4533 [inline] SYSC_rename fs/namei.c:4684 [inline] SyS_rename+0x61d/0x6d0 fs/namei.c:4682 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 to a HARDIRQ-irq-unsafe lock: (&(&info->lock)->rlock){+.+.} ... which became HARDIRQ-irq-unsafe at: ... lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:152 spin_lock include/linux/spinlock.h:317 [inline] shmem_mfill_atomic_pte+0x11ba/0x1790 mm/shmem.c:2333 shmem_mcopy_atomic_pte+0x3a/0x50 mm/shmem.c:2371 mfill_atomic_pte mm/userfaultfd.c:425 [inline] __mcopy_atomic mm/userfaultfd.c:549 [inline] mcopy_atomic+0xc11/0x20a0 mm/userfaultfd.c:598 userfaultfd_copy fs/userfaultfd.c:1713 [inline] userfaultfd_ioctl+0x32e/0x2f80 fs/userfaultfd.c:1858 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&(&info->lock)->rlock); local_irq_disable(); lock(&(&mapping->tree_lock)->rlock); lock(&(&info->lock)->rlock); lock(&(&mapping->tree_lock)->rlock); *** DEADLOCK *** 5 locks held by syz-executor.4/15169: #0: (shrinker_rwsem){++++}, at: [] shrink_slab.part.0+0xb0/0xa50 mm/vmscan.c:474 #1: (&type->s_umount_key#34){++++}, at: [] trylock_super+0x1b/0xe0 fs/super.c:402 #2: (&mapping->i_mmap_rwsem){++++}, at: [] i_mmap_lock_read include/linux/fs.h:483 [inline] #2: (&mapping->i_mmap_rwsem){++++}, at: [] split_huge_page_to_list+0x28d/0x1f40 mm/huge_memory.c:2590 #3: (&(&pgdat->lru_lock)->rlock){-.-.}, at: [] split_huge_page_to_list+0x529/0x1f40 mm/huge_memory.c:2620 #4: (&(&mapping->tree_lock)->rlock){-.-.}, at: [] spin_lock include/linux/spinlock.h:317 [inline] #4: (&(&mapping->tree_lock)->rlock){-.-.}, at: [] split_huge_page_to_list+0x548/0x1f40 mm/huge_memory.c:2625 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> (&(&mapping->tree_lock)->rlock){-.-.} ops: 14277541 { IN-HARDIRQ-W at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 test_clear_page_writeback+0x199/0xc20 mm/page-writeback.c:2742 end_page_writeback+0xe4/0x210 mm/filemap.c:1153 ext4_finish_bio+0x483/0x710 fs/ext4/page-io.c:118 ext4_end_bio+0x14b/0x5a0 fs/ext4/page-io.c:342 bio_endio+0x315/0x670 block/bio.c:1918 req_bio_endio block/blk-core.c:204 [inline] blk_update_request+0x27a/0x9d0 block/blk-core.c:2763 scsi_end_request+0x7d/0x9b0 drivers/scsi/scsi_lib.c:659 scsi_io_completion+0xa63/0x1590 drivers/scsi/scsi_lib.c:885 scsi_softirq_done+0x2c8/0x360 drivers/scsi/scsi_lib.c:1671 __blk_mq_complete_request+0x30b/0x6c0 block/blk-mq.c:571 blk_mq_complete_request+0x51/0x60 block/blk-mq.c:591 virtscsi_vq_done+0xa7/0x130 drivers/scsi/virtio_scsi.c:223 vring_interrupt+0x101/0x150 drivers/virtio/virtio_ring.c:951 __handle_irq_event_percpu+0x125/0x7e0 kernel/irq/handle.c:147 handle_irq_event_percpu+0x66/0x120 kernel/irq/handle.c:187 handle_irq_event+0xa2/0x12d kernel/irq/handle.c:204 handle_edge_irq+0x215/0x810 kernel/irq/chip.c:770 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x35/0x50 arch/x86/kernel/irq_64.c:87 do_IRQ+0x93/0x1d0 arch/x86/kernel/irq.c:230 ret_from_intr+0x0/0x1e arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline] queue_delayed_work_on+0xf2/0x1d0 kernel/workqueue.c:1567 kblockd_schedule_delayed_work_on+0x26/0x30 block/blk-core.c:3248 __blk_mq_delay_run_hw_queue+0x113/0x1f0 block/blk-mq.c:1251 blk_mq_sched_insert_request+0x32e/0x550 block/blk-mq-sched.c:387 blk_mq_make_request+0x51e/0x1aa0 block/blk-mq.c:1750 generic_make_request block/blk-core.c:2227 [inline] generic_make_request+0x205/0xa40 block/blk-core.c:2171 submit_bio+0x18f/0x3a0 block/blk-core.c:2301 submit_bh_wbc+0x52e/0x700 fs/buffer.c:3152 ext4_read_inode_bitmap+0xbac/0x18e0 fs/ext4/ialloc.c:198 ext4_free_inode+0x4cd/0x1480 fs/ext4/ialloc.c:291 ext4_evict_inode+0xe50/0x1520 fs/ext4/inode.c:341 evict+0x2c8/0x5f0 fs/inode.c:555 iput_final fs/inode.c:1524 [inline] iput fs/inode.c:1551 [inline] iput+0x457/0x8d0 fs/inode.c:1536 dentry_unlink_inode+0x26e/0x330 fs/dcache.c:387 __dentry_kill+0x320/0x550 fs/dcache.c:591 dentry_kill fs/dcache.c:632 [inline] dput.part.0+0x4be/0x710 fs/dcache.c:847 dput+0x1b/0x30 fs/dcache.c:811 SYSC_renameat2 fs/namei.c:4648 [inline] SyS_renameat2 fs/namei.c:4533 [inline] SYSC_rename fs/namei.c:4684 [inline] SyS_rename+0x61d/0x6d0 fs/namei.c:4682 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 IN-SOFTIRQ-W at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 test_clear_page_writeback+0x199/0xc20 mm/page-writeback.c:2742 end_page_writeback+0xe4/0x210 mm/filemap.c:1153 end_buffer_async_write+0x367/0x6a0 fs/buffer.c:377 end_bio_bh_io_sync+0xbf/0x100 fs/buffer.c:3038 bio_endio+0x315/0x670 block/bio.c:1918 req_bio_endio block/blk-core.c:204 [inline] blk_update_request+0x27a/0x9d0 block/blk-core.c:2763 scsi_end_request+0x7d/0x9b0 drivers/scsi/scsi_lib.c:659 scsi_io_completion+0xa63/0x1590 drivers/scsi/scsi_lib.c:885 scsi_softirq_done+0x2c8/0x360 drivers/scsi/scsi_lib.c:1671 __blk_mq_complete_request+0x30b/0x6c0 block/blk-mq.c:571 blk_mq_complete_request+0x51/0x60 block/blk-mq.c:591 virtscsi_vq_done+0xa7/0x130 drivers/scsi/virtio_scsi.c:223 vring_interrupt+0x101/0x150 drivers/virtio/virtio_ring.c:951 __handle_irq_event_percpu+0x125/0x7e0 kernel/irq/handle.c:147 handle_irq_event_percpu+0x66/0x120 kernel/irq/handle.c:187 handle_irq_event+0xa2/0x12d kernel/irq/handle.c:204 handle_edge_irq+0x215/0x810 kernel/irq/chip.c:770 generic_handle_irq_desc include/linux/irqdesc.h:159 [inline] handle_irq+0x35/0x50 arch/x86/kernel/irq_64.c:87 do_IRQ+0x93/0x1d0 arch/x86/kernel/irq.c:230 ret_from_intr+0x0/0x1e unwind_next_frame+0x2c7/0x17a0 arch/x86/kernel/unwind_orc.c:349 __save_stack_trace+0x6b/0xd0 arch/x86/kernel/stacktrace.c:44 save_stack+0x32/0xa0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc mm/kasan/kasan.c:551 [inline] kasan_kmalloc+0xbf/0xe0 mm/kasan/kasan.c:529 slab_post_alloc_hook mm/slab.h:442 [inline] slab_alloc mm/slab.c:3390 [inline] kmem_cache_alloc+0x114/0x770 mm/slab.c:3550 __build_skb+0x2e/0x2d0 net/core/skbuff.c:281 __napi_alloc_skb+0x1a4/0x2d0 net/core/skbuff.c:486 napi_alloc_skb include/linux/skbuff.h:2692 [inline] page_to_skb+0x7a/0x730 drivers/net/virtio_net.c:323 receive_mergeable drivers/net/virtio_net.c:719 [inline] receive_buf+0x195b/0x4480 drivers/net/virtio_net.c:824 virtnet_receive drivers/net/virtio_net.c:1098 [inline] virtnet_poll+0x4d3/0x9b3 drivers/net/virtio_net.c:1189 napi_poll net/core/dev.c:5598 [inline] net_rx_action+0x456/0xe90 net/core/dev.c:5664 __do_softirq+0x254/0x9bf kernel/softirq.c:288 invoke_softirq kernel/softirq.c:368 [inline] irq_exit+0x15b/0x1a0 kernel/softirq.c:409 exiting_irq arch/x86/include/asm/apic.h:648 [inline] do_IRQ+0x112/0x1d0 arch/x86/kernel/irq.c:242 ret_from_intr+0x0/0x1e page_add_new_anon_rmap+0x274/0x460 mm/rmap.c:1166 do_anonymous_page mm/memory.c:3169 [inline] handle_pte_fault mm/memory.c:3987 [inline] __handle_mm_fault+0x1a84/0x3280 mm/memory.c:4113 handle_mm_fault+0x288/0x7a0 mm/memory.c:4150 __do_page_fault+0x4bc/0xb40 arch/x86/mm/fault.c:1442 page_fault+0x45/0x50 arch/x86/entry/entry_64.S:1122 INITIAL USE at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline] _raw_spin_lock_irq+0x5b/0x80 kernel/locking/spinlock.c:168 spin_lock_irq include/linux/spinlock.h:342 [inline] __add_to_page_cache_locked+0x286/0x870 mm/filemap.c:781 add_to_page_cache_lru+0xe9/0x300 mm/filemap.c:830 do_read_cache_page+0x6d5/0x12a0 mm/filemap.c:2703 read_mapping_page include/linux/pagemap.h:398 [inline] read_dev_sector+0xbf/0x3d0 block/partition-generic.c:659 read_part_sector block/partitions/check.h:38 [inline] adfspart_check_ICS+0xf3/0xc10 block/partitions/acorn.c:366 check_partition+0x33f/0x62d block/partitions/check.c:167 rescan_partitions+0x1e5/0x850 block/partition-generic.c:523 __blkdev_get+0x926/0x10d0 fs/block_dev.c:1503 blkdev_get+0x84/0x8a0 fs/block_dev.c:1612 register_disk block/genhd.c:616 [inline] device_add_disk+0x897/0xd80 block/genhd.c:679 add_disk include/linux/genhd.h:396 [inline] brd_init+0x214/0x3c9 drivers/block/brd.c:586 do_one_initcall+0x88/0x202 init/main.c:824 do_initcall_level init/main.c:890 [inline] do_initcalls init/main.c:898 [inline] do_basic_setup init/main.c:916 [inline] kernel_init_freeable+0x465/0x526 init/main.c:1073 kernel_init+0xd/0x15b init/main.c:998 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 } ... key at: [] __key.49022+0x0/0x40 ... acquired at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 shmem_uncharge+0x24/0x250 mm/shmem.c:318 __split_huge_page mm/huge_memory.c:2387 [inline] split_huge_page_to_list+0x1590/0x1f40 mm/huge_memory.c:2649 split_huge_page include/linux/huge_mm.h:141 [inline] shmem_unused_huge_shrink+0x5ca/0x1180 mm/shmem.c:526 shmem_unused_huge_scan+0x70/0xa0 mm/shmem.c:558 super_cache_scan+0x333/0x460 fs/super.c:107 do_shrink_slab mm/vmscan.c:401 [inline] shrink_slab.part.0+0x3bb/0xa50 mm/vmscan.c:504 shrink_slab mm/vmscan.c:468 [inline] shrink_node+0x848/0xb60 mm/vmscan.c:2672 shrink_zones mm/vmscan.c:2819 [inline] do_try_to_free_pages+0x357/0xe80 mm/vmscan.c:2877 try_to_free_pages+0x233/0x6e0 mm/vmscan.c:3083 __perform_reclaim mm/page_alloc.c:3581 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3602 [inline] __alloc_pages_slowpath+0x91d/0x26c0 mm/page_alloc.c:3989 __alloc_pages_nodemask+0x5d3/0x700 mm/page_alloc.c:4198 alloc_pages_current+0xe7/0x1e0 mm/mempolicy.c:2113 alloc_pages include/linux/gfp.h:520 [inline] alloc_mmu_pages arch/x86/kvm/mmu.c:5142 [inline] kvm_mmu_create+0xd1/0x1c0 arch/x86/kvm/mmu.c:5160 kvm_arch_vcpu_init+0x28b/0x8b0 arch/x86/kvm/x86.c:8306 kvm_vcpu_init+0x26d/0x360 arch/x86/kvm/../../../virt/kvm/kvm_main.c:320 vmx_create_vcpu+0xf3/0x2900 arch/x86/kvm/vmx.c:10072 kvm_vm_ioctl_create_vcpu arch/x86/kvm/../../../virt/kvm/kvm_main.c:2549 [inline] kvm_vm_ioctl+0x49c/0x1430 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3057 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: -> (&(&info->lock)->rlock){+.+.} ops: 313834 { HARDIRQ-ON-W at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:152 spin_lock include/linux/spinlock.h:317 [inline] shmem_mfill_atomic_pte+0x11ba/0x1790 mm/shmem.c:2333 shmem_mcopy_atomic_pte+0x3a/0x50 mm/shmem.c:2371 mfill_atomic_pte mm/userfaultfd.c:425 [inline] __mcopy_atomic mm/userfaultfd.c:549 [inline] mcopy_atomic+0xc11/0x20a0 mm/userfaultfd.c:598 userfaultfd_copy fs/userfaultfd.c:1713 [inline] userfaultfd_ioctl+0x32e/0x2f80 fs/userfaultfd.c:1858 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 SOFTIRQ-ON-W at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:152 spin_lock include/linux/spinlock.h:317 [inline] shmem_mfill_atomic_pte+0x11ba/0x1790 mm/shmem.c:2333 shmem_mcopy_atomic_pte+0x3a/0x50 mm/shmem.c:2371 mfill_atomic_pte mm/userfaultfd.c:425 [inline] __mcopy_atomic mm/userfaultfd.c:549 [inline] mcopy_atomic+0xc11/0x20a0 mm/userfaultfd.c:598 userfaultfd_copy fs/userfaultfd.c:1713 [inline] userfaultfd_ioctl+0x32e/0x2f80 fs/userfaultfd.c:1858 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 INITIAL USE at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline] _raw_spin_lock_irq+0x5b/0x80 kernel/locking/spinlock.c:168 spin_lock_irq include/linux/spinlock.h:342 [inline] shmem_getpage_gfp+0x17c6/0x2790 mm/shmem.c:1829 shmem_getpage mm/shmem.c:131 [inline] shmem_write_begin+0xf4/0x190 mm/shmem.c:2413 generic_perform_write+0x1c9/0x420 mm/filemap.c:3047 __generic_file_write_iter+0x227/0x590 mm/filemap.c:3172 generic_file_write_iter+0x2fa/0x650 mm/filemap.c:3200 call_write_iter include/linux/fs.h:1778 [inline] new_sync_write fs/read_write.c:469 [inline] __vfs_write+0x44e/0x630 fs/read_write.c:482 vfs_write+0x192/0x4e0 fs/read_write.c:544 SYSC_write fs/read_write.c:590 [inline] SyS_write+0xf2/0x210 fs/read_write.c:582 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 } ... key at: [] __key.49220+0x0/0x40 ... acquired at: lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 shmem_uncharge+0x24/0x250 mm/shmem.c:318 __split_huge_page mm/huge_memory.c:2387 [inline] split_huge_page_to_list+0x1590/0x1f40 mm/huge_memory.c:2649 split_huge_page include/linux/huge_mm.h:141 [inline] shmem_unused_huge_shrink+0x5ca/0x1180 mm/shmem.c:526 shmem_unused_huge_scan+0x70/0xa0 mm/shmem.c:558 super_cache_scan+0x333/0x460 fs/super.c:107 do_shrink_slab mm/vmscan.c:401 [inline] shrink_slab.part.0+0x3bb/0xa50 mm/vmscan.c:504 shrink_slab mm/vmscan.c:468 [inline] shrink_node+0x848/0xb60 mm/vmscan.c:2672 shrink_zones mm/vmscan.c:2819 [inline] do_try_to_free_pages+0x357/0xe80 mm/vmscan.c:2877 try_to_free_pages+0x233/0x6e0 mm/vmscan.c:3083 __perform_reclaim mm/page_alloc.c:3581 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3602 [inline] __alloc_pages_slowpath+0x91d/0x26c0 mm/page_alloc.c:3989 __alloc_pages_nodemask+0x5d3/0x700 mm/page_alloc.c:4198 alloc_pages_current+0xe7/0x1e0 mm/mempolicy.c:2113 alloc_pages include/linux/gfp.h:520 [inline] alloc_mmu_pages arch/x86/kvm/mmu.c:5142 [inline] kvm_mmu_create+0xd1/0x1c0 arch/x86/kvm/mmu.c:5160 kvm_arch_vcpu_init+0x28b/0x8b0 arch/x86/kvm/x86.c:8306 kvm_vcpu_init+0x26d/0x360 arch/x86/kvm/../../../virt/kvm/kvm_main.c:320 vmx_create_vcpu+0xf3/0x2900 arch/x86/kvm/vmx.c:10072 kvm_vm_ioctl_create_vcpu arch/x86/kvm/../../../virt/kvm/kvm_main.c:2549 [inline] kvm_vm_ioctl+0x49c/0x1430 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3057 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 stack backtrace: CPU: 1 PID: 15169 Comm: syz-executor.4 Not tainted 4.14.175-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x13e/0x194 lib/dump_stack.c:58 print_bad_irq_dependency kernel/locking/lockdep.c:1605 [inline] check_usage.cold+0x60e/0x97b kernel/locking/lockdep.c:1637 check_irq_usage kernel/locking/lockdep.c:1693 [inline] check_prev_add_irq kernel/locking/lockdep_states.h:7 [inline] check_prev_add kernel/locking/lockdep.c:1906 [inline] check_prevs_add kernel/locking/lockdep.c:2018 [inline] validate_chain kernel/locking/lockdep.c:2460 [inline] __lock_acquire+0x1d77/0x4620 kernel/locking/lockdep.c:3487 lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3994 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:160 shmem_uncharge+0x24/0x250 mm/shmem.c:318 __split_huge_page mm/huge_memory.c:2387 [inline] split_huge_page_to_list+0x1590/0x1f40 mm/huge_memory.c:2649 split_huge_page include/linux/huge_mm.h:141 [inline] shmem_unused_huge_shrink+0x5ca/0x1180 mm/shmem.c:526 shmem_unused_huge_scan+0x70/0xa0 mm/shmem.c:558 super_cache_scan+0x333/0x460 fs/super.c:107 do_shrink_slab mm/vmscan.c:401 [inline] shrink_slab.part.0+0x3bb/0xa50 mm/vmscan.c:504 shrink_slab mm/vmscan.c:468 [inline] shrink_node+0x848/0xb60 mm/vmscan.c:2672 shrink_zones mm/vmscan.c:2819 [inline] do_try_to_free_pages+0x357/0xe80 mm/vmscan.c:2877 try_to_free_pages+0x233/0x6e0 mm/vmscan.c:3083 __perform_reclaim mm/page_alloc.c:3581 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3602 [inline] __alloc_pages_slowpath+0x91d/0x26c0 mm/page_alloc.c:3989 __alloc_pages_nodemask+0x5d3/0x700 mm/page_alloc.c:4198 alloc_pages_current+0xe7/0x1e0 mm/mempolicy.c:2113 alloc_pages include/linux/gfp.h:520 [inline] alloc_mmu_pages arch/x86/kvm/mmu.c:5142 [inline] kvm_mmu_create+0xd1/0x1c0 arch/x86/kvm/mmu.c:5160 kvm_arch_vcpu_init+0x28b/0x8b0 arch/x86/kvm/x86.c:8306 kvm_vcpu_init+0x26d/0x360 arch/x86/kvm/../../../virt/kvm/kvm_main.c:320 vmx_create_vcpu+0xf3/0x2900 arch/x86/kvm/vmx.c:10072 kvm_vm_ioctl_create_vcpu arch/x86/kvm/../../../virt/kvm/kvm_main.c:2549 [inline] kvm_vm_ioctl+0x49c/0x1430 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3057 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x75a/0xfe0 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692 do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x45c889 RSP: 002b:00007fae02443c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fae024446d4 RCX: 000000000045c889 RDX: 0000000000000000 RSI: 000000000000ae41 RDI: 0000000000000004 RBP: 000000000076bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 000000000000038e R14: 00000000004c6081 R15: 000000000076bf0c audit: type=1800 audit(1586699165.127:427): pid=15188 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="collect_data" cause="failed(directio)" comm="syz-executor.0" name="file0" dev="sda1" ino=16056 res=0 audit: type=1804 audit(1586699165.167:428): pid=15194 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.0" name="/root/syzkaller-testdir056919043/syzkaller.bu5gis/1208/file0" dev="sda1" ino=16056 res=1 overlayfs: filesystem on './file0' not supported as upperdir Unknown ioctl -2147200000 overlayfs: filesystem on './file0' not supported as upperdir Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 Unknown ioctl -2147200000 netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. xt_cluster: you have exceeded the maximum number of cluster nodes (32769 > 32) xt_cluster: you have exceeded the maximum number of cluster nodes (32769 > 32) xt_cluster: you have exceeded the maximum number of cluster nodes (32769 > 32) SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=15531 comm=syz-executor.5 netlink: 56 bytes leftover after parsing attributes in process `syz-executor.4'. netlink: 56 bytes leftover after parsing attributes in process `syz-executor.4'.