bisecting cause commit starting from 007b350a58754a93ca9fe50c498cc27780171153 building syzkaller on 84fd4c773bfadac5884483a7ddff60c6bedd1dff testing commit 007b350a58754a93ca9fe50c498cc27780171153 with gcc (GCC) 10.2.1 20210217 kernel signature: 774d7be2808105a92ebd6a59201d90932410939a9e099c0ebdd92deca731f965 run #0: basic kernel testing failed: BUG: sleeping function called from invalid context in stack_depot_save run #1: crashed: BUG: sleeping function called from invalid context in lock_sock_nested run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK reproducer seems to be flaky testing release v5.13 testing commit 62fb9874f5da54fdb243003b386128037319b219 with gcc (GCC) 10.2.1 20210217 kernel signature: 9df08b1fd85463d64833567541276f9dcb06e35a487c071e602fd1e7d2707383 all runs: OK # git bisect start 007b350a58754a93ca9fe50c498cc27780171153 62fb9874f5da54fdb243003b386128037319b219 Bisecting: 1425 revisions left to test after this (roughly 10 steps) [36824f198c621cebeb22966b5e244378fa341295] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm testing commit 36824f198c621cebeb22966b5e244378fa341295 with gcc (GCC) 10.2.1 20210217 kernel signature: dabf3eabc8f41cb1bc64f0da7b883faf483674fdca7634a84020d496010e13ef run #0: crashed: BUG: sleeping function called from invalid context in lock_sock_nested run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK # git bisect bad 36824f198c621cebeb22966b5e244378fa341295 Bisecting: 547 revisions left to test after this (roughly 9 steps) [9269d27e519ae9a89be8d288f59d1ec573b0c686] Merge tag 'timers-nohz-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip testing commit 9269d27e519ae9a89be8d288f59d1ec573b0c686 with gcc (GCC) 10.2.1 20210217 kernel signature: 7ea69e8244c495fa2961be4ebf28a9fc58d6b7ec0446cfa1759bebbc7606404a all runs: OK # git bisect good 9269d27e519ae9a89be8d288f59d1ec573b0c686 Bisecting: 274 revisions left to test after this (roughly 8 steps) [79b1e56509beb8d53b2b92f27555cd2175c67b8a] Merge tag 'kvm-s390-next-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD testing commit 79b1e56509beb8d53b2b92f27555cd2175c67b8a with gcc (GCC) 10.2.1 20210217 kernel signature: 839cb7791141f18c0a53a5b3f1a723533e8ef1ad446064037a9ba9bd62e2f13c all runs: OK # git bisect good 79b1e56509beb8d53b2b92f27555cd2175c67b8a Bisecting: 152 revisions left to test after this (roughly 7 steps) [fdceddb06a5ff5ad3894cf9e8124d5af38ac5793] Merge branch 'for-next/mte' into for-next/core testing commit fdceddb06a5ff5ad3894cf9e8124d5af38ac5793 with gcc (GCC) 10.2.1 20210217 kernel signature: f18ac8838179cec4d4dab64e9e94bd35543d678fd3dba6df988b22ae0e4c5319 all runs: OK # git bisect good fdceddb06a5ff5ad3894cf9e8124d5af38ac5793 Bisecting: 54 revisions left to test after this (roughly 6 steps) [9840cfcb97fc8b6aa7b36cec3cc3fd763f14052e] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux testing commit 9840cfcb97fc8b6aa7b36cec3cc3fd763f14052e with gcc (GCC) 10.2.1 20210217 kernel signature: 49ad96f3f846ff63f1bb7befd310a67a63390e624d7491d001a3b2142bebf138 all runs: OK # git bisect good 9840cfcb97fc8b6aa7b36cec3cc3fd763f14052e Bisecting: 26 revisions left to test after this (roughly 5 steps) [fbba7e69b061b9a90271dab127ac0a786527bb9f] Merge branch kvm-arm64/selftest/debug into kvmarm-master/next testing commit fbba7e69b061b9a90271dab127ac0a786527bb9f with gcc (GCC) 10.2.1 20210217 kernel signature: dd6b88f35d5bc1c16bb48efebe7637dc5e02e8d68363014bd02b45d76d7065e8 all runs: OK # git bisect good fbba7e69b061b9a90271dab127ac0a786527bb9f Bisecting: 10 revisions left to test after this (roughly 4 steps) [2fea6cf7d32141b9e95e30500f1d50a9f92a7371] Merge branch kvm-arm64/selftest/sysreg-list-fix into kvmarm-master/next testing commit 2fea6cf7d32141b9e95e30500f1d50a9f92a7371 with gcc (GCC) 10.2.1 20210217 kernel signature: dd6b88f35d5bc1c16bb48efebe7637dc5e02e8d68363014bd02b45d76d7065e8 all runs: OK # git bisect good 2fea6cf7d32141b9e95e30500f1d50a9f92a7371 Bisecting: 5 revisions left to test after this (roughly 3 steps) [f0376edb1ddcab19a473b4bf1fbd5b6bbed3705b] KVM: arm64: Add ioctl to fetch/store tags in a guest testing commit f0376edb1ddcab19a473b4bf1fbd5b6bbed3705b with gcc (GCC) 10.2.1 20210217 kernel signature: dd6b88f35d5bc1c16bb48efebe7637dc5e02e8d68363014bd02b45d76d7065e8 all runs: OK # git bisect good f0376edb1ddcab19a473b4bf1fbd5b6bbed3705b Bisecting: 3 revisions left to test after this (roughly 2 steps) [9f03db6673598f618f10ba01b3f8824bd5f31a41] Merge branch kvm-arm64/mmu/mte into kvmarm-master/next testing commit 9f03db6673598f618f10ba01b3f8824bd5f31a41 with gcc (GCC) 10.2.1 20210217 kernel signature: dd6b88f35d5bc1c16bb48efebe7637dc5e02e8d68363014bd02b45d76d7065e8 all runs: OK # git bisect good 9f03db6673598f618f10ba01b3f8824bd5f31a41 Bisecting: 1 revision left to test after this (roughly 1 step) [188982cda00ebfe28b50c2905d9bbaa2e9a001b9] Merge branch kvm-arm64/mmu/mte into kvmarm-master/next testing commit 188982cda00ebfe28b50c2905d9bbaa2e9a001b9 with gcc (GCC) 10.2.1 20210217 kernel signature: dd6b88f35d5bc1c16bb48efebe7637dc5e02e8d68363014bd02b45d76d7065e8 all runs: OK # git bisect good 188982cda00ebfe28b50c2905d9bbaa2e9a001b9 Bisecting: 0 revisions left to test after this (roughly 0 steps) [b8917b4ae44d1b945f6fba3d8ee6777edb44633b] Merge tag 'kvmarm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD testing commit b8917b4ae44d1b945f6fba3d8ee6777edb44633b with gcc (GCC) 10.2.1 20210217 kernel signature: 895d5877efdb6154de438f5afdabdad388c3e83f55ed6b94d6bfd78ffe780350 all runs: OK # git bisect good b8917b4ae44d1b945f6fba3d8ee6777edb44633b 36824f198c621cebeb22966b5e244378fa341295 is the first bad commit commit 36824f198c621cebeb22966b5e244378fa341295 Merge: 9840cfcb97fc b8917b4ae44d Author: Linus Torvalds Date: Mon Jun 28 15:40:51 2021 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm updates from Paolo Bonzini: "This covers all architectures (except MIPS) so I don't expect any other feature pull requests this merge window. ARM: - Add MTE support in guests, complete with tag save/restore interface - Reduce the impact of CMOs by moving them in the page-table code - Allow device block mappings at stage-2 - Reduce the footprint of the vmemmap in protected mode - Support the vGIC on dumb systems such as the Apple M1 - Add selftest infrastructure to support multiple configuration and apply that to PMU/non-PMU setups - Add selftests for the debug architecture - The usual crop of PMU fixes PPC: - Support for the H_RPT_INVALIDATE hypercall - Conversion of Book3S entry/exit to C - Bug fixes S390: - new HW facilities for guests - make inline assembly more robust with KASAN and co x86: - Allow userspace to handle emulation errors (unknown instructions) - Lazy allocation of the rmap (host physical -> guest physical address) - Support for virtualizing TSC scaling on VMX machines - Optimizations to avoid shattering huge pages at the beginning of live migration - Support for initializing the PDPTRs without loading them from memory - Many TLB flushing cleanups - Refuse to load if two-stage paging is available but NX is not (this has been a requirement in practice for over a year) - A large series that separates the MMU mode (WP/SMAP/SMEP etc.) from CR0/CR4/EFER, using the MMU mode everywhere once it is computed from the CPU registers - Use PM notifier to notify the guest about host suspend or hibernate - Support for passing arguments to Hyper-V hypercalls using XMM registers - Support for Hyper-V TLB flush hypercalls and enlightened MSR bitmap on AMD processors - Hide Hyper-V hypercalls that are not included in the guest CPUID - Fixes for live migration of virtual machines that use the Hyper-V "enlightened VMCS" optimization of nested virtualization - Bugfixes (not many) Generic: - Support for retrieving statistics without debugfs - Cleanups for the KVM selftests API" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (314 commits) KVM: x86: rename apic_access_page_done to apic_access_memslot_enabled kvm: x86: disable the narrow guest module parameter on unload selftests: kvm: Allows userspace to handle emulation errors. kvm: x86: Allow userspace to handle emulation errors KVM: x86/mmu: Let guest use GBPAGES if supported in hardware and TDP is on KVM: x86/mmu: Get CR4.SMEP from MMU, not vCPU, in shadow page fault KVM: x86/mmu: Get CR0.WP from MMU, not vCPU, in shadow page fault KVM: x86/mmu: Drop redundant rsvd bits reset for nested NPT KVM: x86/mmu: Optimize and clean up so called "last nonleaf level" logic KVM: x86: Enhance comments for MMU roles and nested transition trickiness KVM: x86/mmu: WARN on any reserved SPTE value when making a valid SPTE KVM: x86/mmu: Add helpers to do full reserved SPTE checks w/ generic MMU KVM: x86/mmu: Use MMU's role to determine PTTYPE KVM: x86/mmu: Collapse 32-bit PAE and 64-bit statements for helpers KVM: x86/mmu: Add a helper to calculate root from role_regs KVM: x86/mmu: Add helper to update paging metadata KVM: x86/mmu: Don't update nested guest's paging bitmasks if CR0.PG=0 KVM: x86/mmu: Consolidate reset_rsvds_bits_mask() calls KVM: x86/mmu: Use MMU role_regs to get LA57, and drop vCPU LA57 helper KVM: x86/mmu: Get nested MMU's root level from the MMU's role ... Documentation/virt/kvm/api.rst | 356 ++++++- Documentation/virt/kvm/cpuid.rst | 7 + Documentation/virt/kvm/hypercalls.rst | 21 + Documentation/virt/kvm/locking.rst | 5 + Documentation/virt/kvm/mmu.rst | 7 +- Documentation/virt/kvm/msr.rst | 13 + MAINTAINERS | 2 + arch/arm64/include/asm/kvm_arm.h | 3 +- arch/arm64/include/asm/kvm_emulate.h | 3 + arch/arm64/include/asm/kvm_host.h | 23 +- arch/arm64/include/asm/kvm_mmu.h | 12 +- arch/arm64/include/asm/kvm_mte.h | 66 ++ arch/arm64/include/asm/kvm_pgtable.h | 42 +- arch/arm64/include/asm/mte-def.h | 1 + arch/arm64/include/asm/mte.h | 4 +- arch/arm64/include/asm/pgtable.h | 22 +- arch/arm64/include/asm/sysreg.h | 3 +- arch/arm64/include/uapi/asm/kvm.h | 11 + arch/arm64/kernel/asm-offsets.c | 2 + arch/arm64/kernel/mte.c | 18 +- arch/arm64/kvm/Makefile | 2 +- arch/arm64/kvm/arch_timer.c | 162 ++- arch/arm64/kvm/arm.c | 20 + arch/arm64/kvm/guest.c | 134 ++- arch/arm64/kvm/hyp/entry.S | 7 + arch/arm64/kvm/hyp/exception.c | 3 +- arch/arm64/kvm/hyp/hyp-entry.S | 6 +- arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 21 + arch/arm64/kvm/hyp/include/nvhe/gfp.h | 45 +- arch/arm64/kvm/hyp/include/nvhe/mem_protect.h | 2 +- arch/arm64/kvm/hyp/include/nvhe/memory.h | 7 +- arch/arm64/kvm/hyp/include/nvhe/mm.h | 13 +- arch/arm64/kvm/hyp/nvhe/mem_protect.c | 60 +- arch/arm64/kvm/hyp/nvhe/page_alloc.c | 112 +- arch/arm64/kvm/hyp/nvhe/setup.c | 30 +- arch/arm64/kvm/hyp/pgtable.c | 48 +- arch/arm64/kvm/hyp/reserved_mem.c | 3 +- arch/arm64/kvm/mmu.c | 196 ++-- arch/arm64/kvm/pmu-emul.c | 4 + arch/arm64/kvm/reset.c | 4 + arch/arm64/kvm/sys_regs.c | 32 +- arch/arm64/kvm/vgic/vgic-init.c | 36 +- arch/arm64/kvm/vgic/vgic-v2.c | 19 +- arch/arm64/kvm/vgic/vgic-v3.c | 19 +- arch/arm64/kvm/vgic/vgic.c | 14 +- arch/mips/include/asm/kvm_host.h | 9 +- arch/mips/kvm/Makefile | 2 +- arch/mips/kvm/mips.c | 90 +- arch/powerpc/include/asm/asm-prototypes.h | 3 +- arch/powerpc/include/asm/book3s/64/mmu.h | 1 + .../powerpc/include/asm/book3s/64/tlbflush-radix.h | 4 + arch/powerpc/include/asm/cputhreads.h | 30 + arch/powerpc/include/asm/exception-64s.h | 13 + arch/powerpc/include/asm/hvcall.h | 4 +- arch/powerpc/include/asm/kvm_asm.h | 1 + arch/powerpc/include/asm/kvm_book3s.h | 3 + arch/powerpc/include/asm/kvm_book3s_64.h | 8 + arch/powerpc/include/asm/kvm_host.h | 21 +- arch/powerpc/include/asm/kvm_ppc.h | 18 +- arch/powerpc/include/asm/mmu_context.h | 18 +- arch/powerpc/include/asm/time.h | 12 + arch/powerpc/kernel/asm-offsets.c | 1 - arch/powerpc/kernel/exceptions-64s.S | 250 +---- arch/powerpc/kernel/security.c | 5 +- arch/powerpc/kernel/time.c | 10 - arch/powerpc/kvm/Makefile | 4 +- arch/powerpc/kvm/book3s.c | 108 +- arch/powerpc/kvm/book3s_64_entry.S | 416 ++++++++ arch/powerpc/kvm/book3s_64_mmu_radix.c | 27 +- arch/powerpc/kvm/book3s_64_vio_hv.c | 12 - arch/powerpc/kvm/book3s_hv.c | 810 ++++++++------ arch/powerpc/kvm/book3s_hv_builtin.c | 137 +-- arch/powerpc/kvm/book3s_hv_interrupts.S | 9 +- arch/powerpc/kvm/book3s_hv_nested.c | 122 ++- arch/powerpc/kvm/book3s_hv_p9_entry.c | 508 +++++++++ arch/powerpc/kvm/book3s_hv_rm_mmu.c | 14 +- arch/powerpc/kvm/book3s_hv_rm_xics.c | 15 - arch/powerpc/kvm/book3s_hv_rmhandlers.S | 684 +----------- arch/powerpc/kvm/book3s_pr.c | 2 +- arch/powerpc/kvm/book3s_pr_papr.c | 2 +- arch/powerpc/kvm/book3s_segment.S | 3 + arch/powerpc/kvm/book3s_xive.c | 113 +- arch/powerpc/kvm/book3s_xive.h | 7 - arch/powerpc/kvm/book3s_xive_native.c | 10 - arch/powerpc/kvm/booke.c | 76 +- arch/powerpc/kvm/powerpc.c | 3 + arch/powerpc/mm/book3s64/radix_pgtable.c | 32 +- arch/powerpc/mm/book3s64/radix_tlb.c | 202 +++- arch/powerpc/mm/mmu_context.c | 4 +- arch/powerpc/platforms/powernv/idle.c | 52 +- arch/s390/include/asm/kvm_host.h | 9 +- arch/s390/kvm/Makefile | 3 +- arch/s390/kvm/kvm-s390.c | 254 +++-- arch/s390/tools/gen_facilities.c | 4 + arch/x86/include/asm/hyperv-tlfs.h | 19 +- arch/x86/include/asm/kvm-x86-ops.h | 9 +- arch/x86/include/asm/kvm_host.h | 169 ++- arch/x86/include/asm/svm.h | 9 +- arch/x86/include/uapi/asm/kvm.h | 13 + arch/x86/include/uapi/asm/kvm_para.h | 13 + arch/x86/include/uapi/asm/svm.h | 3 + arch/x86/kernel/cpu/mshyperv.c | 10 +- arch/x86/kvm/Kconfig | 1 + arch/x86/kvm/Makefile | 11 +- arch/x86/kvm/cpuid.c | 6 +- arch/x86/kvm/debugfs.c | 11 + arch/x86/kvm/emulate.c | 166 +-- arch/x86/kvm/fpu.h | 140 +++ arch/x86/kvm/hyperv.c | 440 ++++++-- arch/x86/kvm/hyperv.h | 1 + arch/x86/kvm/kvm_cache_regs.h | 15 + arch/x86/kvm/kvm_emulate.h | 10 +- arch/x86/kvm/kvm_onhyperv.c | 93 ++ arch/x86/kvm/kvm_onhyperv.h | 32 + arch/x86/kvm/lapic.c | 12 +- arch/x86/kvm/lapic.h | 2 +- arch/x86/kvm/mmu.h | 30 +- arch/x86/kvm/mmu/mmu.c | 894 ++++++++-------- arch/x86/kvm/mmu/mmu_internal.h | 15 +- arch/x86/kvm/mmu/mmutrace.h | 2 +- arch/x86/kvm/mmu/page_track.c | 2 +- arch/x86/kvm/mmu/paging_tmpl.h | 68 +- arch/x86/kvm/mmu/spte.c | 22 +- arch/x86/kvm/mmu/spte.h | 32 + arch/x86/kvm/mmu/tdp_mmu.c | 43 +- arch/x86/kvm/mmu/tdp_mmu.h | 35 +- arch/x86/kvm/svm/avic.c | 18 +- arch/x86/kvm/svm/nested.c | 91 +- arch/x86/kvm/svm/svm.c | 106 +- arch/x86/kvm/svm/svm.h | 24 +- arch/x86/kvm/svm/svm_onhyperv.c | 41 + arch/x86/kvm/svm/svm_onhyperv.h | 130 +++ arch/x86/kvm/trace.h | 2 +- arch/x86/kvm/vmx/capabilities.h | 1 - arch/x86/kvm/vmx/evmcs.c | 3 + arch/x86/kvm/vmx/evmcs.h | 8 + arch/x86/kvm/vmx/nested.c | 418 +++++--- arch/x86/kvm/vmx/nested.h | 11 +- arch/x86/kvm/vmx/vmcs.h | 13 + arch/x86/kvm/vmx/vmcs12.c | 1 + arch/x86/kvm/vmx/vmcs12.h | 10 +- arch/x86/kvm/vmx/vmx.c | 225 ++-- arch/x86/kvm/vmx/vmx.h | 21 +- arch/x86/kvm/x86.c | 909 +++++++++++----- arch/x86/kvm/x86.h | 10 - drivers/irqchip/irq-apple-aic.c | 9 + drivers/irqchip/irq-gic-common.c | 13 - drivers/irqchip/irq-gic-common.h | 2 - drivers/irqchip/irq-gic-v3.c | 6 +- drivers/irqchip/irq-gic.c | 6 +- include/asm-generic/hyperv-tlfs.h | 1 + include/kvm/arm_vgic.h | 41 +- include/linux/irqchip/arm-gic-common.h | 25 +- include/linux/irqchip/arm-vgic-info.h | 45 + include/linux/kvm_host.h | 128 ++- include/linux/kvm_types.h | 14 + include/linux/math64.h | 19 + include/uapi/linux/kvm.h | 105 ++ include/uapi/linux/kvm_para.h | 1 + tools/lib/traceevent/plugins/plugin_kvm.c | 4 +- tools/testing/selftests/kvm/.gitignore | 7 +- tools/testing/selftests/kvm/Makefile | 13 +- .../selftests/kvm/aarch64/debug-exceptions.c | 250 +++++ .../selftests/kvm/aarch64/get-reg-list-sve.c | 3 - tools/testing/selftests/kvm/aarch64/get-reg-list.c | 439 +++++--- tools/testing/selftests/kvm/dirty_log_test.c | 5 +- .../testing/selftests/kvm/hardware_disable_test.c | 2 +- .../selftests/kvm/include/aarch64/processor.h | 83 +- tools/testing/selftests/kvm/include/evmcs.h | 1102 -------------------- tools/testing/selftests/kvm/include/kvm_util.h | 44 +- tools/testing/selftests/kvm/include/x86_64/apic.h | 91 ++ tools/testing/selftests/kvm/include/x86_64/evmcs.h | 1102 ++++++++++++++++++++ .../testing/selftests/kvm/include/x86_64/hyperv.h | 185 ++++ .../selftests/kvm/include/x86_64/processor.h | 66 +- tools/testing/selftests/kvm/include/x86_64/vmx.h | 11 +- .../testing/selftests/kvm/kvm_binary_stats_test.c | 237 +++++ tools/testing/selftests/kvm/kvm_page_table_test.c | 2 +- tools/testing/selftests/kvm/lib/aarch64/handlers.S | 126 +++ .../testing/selftests/kvm/lib/aarch64/processor.c | 131 ++- tools/testing/selftests/kvm/lib/aarch64/ucall.c | 2 +- tools/testing/selftests/kvm/lib/elf.c | 6 +- tools/testing/selftests/kvm/lib/kvm_util.c | 78 +- tools/testing/selftests/kvm/lib/perf_test_util.c | 2 +- tools/testing/selftests/kvm/lib/s390x/processor.c | 17 +- tools/testing/selftests/kvm/lib/x86_64/apic.c | 45 + tools/testing/selftests/kvm/lib/x86_64/processor.c | 352 ++++--- tools/testing/selftests/kvm/lib/x86_64/svm.c | 9 +- tools/testing/selftests/kvm/lib/x86_64/vmx.c | 52 +- tools/testing/selftests/kvm/memslot_perf_test.c | 2 +- .../testing/selftests/kvm/set_memory_region_test.c | 2 +- tools/testing/selftests/kvm/steal_time.c | 4 +- .../selftests/kvm/x86_64/emulator_error_test.c | 219 ++++ tools/testing/selftests/kvm/x86_64/evmcs_test.c | 79 +- .../testing/selftests/kvm/x86_64/get_cpuid_test.c | 3 +- tools/testing/selftests/kvm/x86_64/hyperv_clock.c | 10 +- .../testing/selftests/kvm/x86_64/hyperv_features.c | 649 ++++++++++++ tools/testing/selftests/kvm/x86_64/kvm_pv_test.c | 2 +- tools/testing/selftests/kvm/x86_64/mmu_role_test.c | 147 +++ .../testing/selftests/kvm/x86_64/set_boot_cpu_id.c | 10 +- tools/testing/selftests/kvm/x86_64/smm_test.c | 4 +- .../testing/selftests/kvm/x86_64/sync_regs_test.c | 7 +- tools/testing/selftests/kvm/x86_64/tsc_msrs_test.c | 9 - .../selftests/kvm/x86_64/userspace_msr_exit_test.c | 8 +- .../selftests/kvm/x86_64/vmx_apic_access_test.c | 2 +- .../selftests/kvm/x86_64/vmx_dirty_log_test.c | 8 +- .../kvm/x86_64/vmx_nested_tsc_scaling_test.c | 242 +++++ .../testing/selftests/kvm/x86_64/xapic_ipi_test.c | 65 +- .../testing/selftests/kvm/x86_64/xen_shinfo_test.c | 2 +- .../testing/selftests/kvm/x86_64/xen_vmcall_test.c | 2 +- virt/kvm/Kconfig | 3 + virt/kvm/binary_stats.c | 146 +++ virt/kvm/kvm_main.c | 323 +++++- 212 files changed, 11595 insertions(+), 5369 deletions(-) create mode 100644 arch/arm64/include/asm/kvm_mte.h create mode 100644 arch/powerpc/kvm/book3s_64_entry.S create mode 100644 arch/powerpc/kvm/book3s_hv_p9_entry.c create mode 100644 arch/x86/kvm/fpu.h create mode 100644 arch/x86/kvm/kvm_onhyperv.c create mode 100644 arch/x86/kvm/kvm_onhyperv.h create mode 100644 arch/x86/kvm/svm/svm_onhyperv.c create mode 100644 arch/x86/kvm/svm/svm_onhyperv.h create mode 100644 include/linux/irqchip/arm-vgic-info.h create mode 100644 tools/testing/selftests/kvm/aarch64/debug-exceptions.c delete mode 100644 tools/testing/selftests/kvm/aarch64/get-reg-list-sve.c delete mode 100644 tools/testing/selftests/kvm/include/evmcs.h create mode 100644 tools/testing/selftests/kvm/include/x86_64/apic.h create mode 100644 tools/testing/selftests/kvm/include/x86_64/evmcs.h create mode 100644 tools/testing/selftests/kvm/include/x86_64/hyperv.h create mode 100644 tools/testing/selftests/kvm/kvm_binary_stats_test.c create mode 100644 tools/testing/selftests/kvm/lib/aarch64/handlers.S create mode 100644 tools/testing/selftests/kvm/lib/x86_64/apic.c create mode 100644 tools/testing/selftests/kvm/x86_64/emulator_error_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/hyperv_features.c create mode 100644 tools/testing/selftests/kvm/x86_64/mmu_role_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/vmx_nested_tsc_scaling_test.c create mode 100644 virt/kvm/binary_stats.c Reproducer flagged being flaky revisions tested: 13, total time: 3h32m48.824665279s (build: 1h30m31.327032176s, test: 2h0m56.377433694s) first bad commit: 36824f198c621cebeb22966b5e244378fa341295 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm recipients (to): ["linux-kernel@vger.kernel.org" "torvalds@linux-foundation.org"] recipients (cc): ["andreyknvl@gmail.com" "catalin.marinas@arm.com" "linux-arm-kernel@lists.infradead.org" "vincenzo.frascino@arm.com" "will@kernel.org"] crash: BUG: sleeping function called from invalid context in lock_sock_nested BUG: sleeping function called from invalid context at net/core/sock.c:3064 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 8801, name: syz-executor.2 1 lock held by syz-executor.2/8801: #0: ffffffff8c1ead80 (hci_sk_list.lock){++++}-{2:2}, at: hci_sock_dev_event+0x374/0x5c0 net/bluetooth/hci_sock.c:763 Preemption disabled at: [<0000000000000000>] 0x0 CPU: 1 PID: 8801 Comm: syz-executor.2 Not tainted 5.13.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack+0xa5/0xe6 lib/dump_stack.c:120 ___might_sleep.cold+0x1f1/0x237 kernel/sched/core.c:9153 lock_sock_nested+0x1e/0xf0 net/core/sock.c:3064 lock_sock include/net/sock.h:1610 [inline] hci_sock_dev_event+0x3ea/0x5c0 net/bluetooth/hci_sock.c:765 hci_unregister_dev+0x29b/0xfb0 net/bluetooth/hci_core.c:4013 vhci_release+0x62/0xd0 drivers/bluetooth/hci_vhci.c:340 __fput+0x209/0x870 fs/file_table.c:280 task_work_run+0xc0/0x160 kernel/task_work.c:164 exit_task_work include/linux/task_work.h:32 [inline] do_exit+0x9fe/0x24e0 kernel/exit.c:825 do_group_exit+0xe7/0x290 kernel/exit.c:922 __do_sys_exit_group kernel/exit.c:933 [inline] __se_sys_exit_group kernel/exit.c:931 [inline] __x64_sys_exit_group+0x35/0x40 kernel/exit.c:931 do_syscall_64+0x31/0xb0 arch/x86/entry/common.c:47 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x4665d9 Code: Unable to access opcode bytes at RIP 0x4665af. RSP: 002b:00007ffe7f0e3698 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 00007ffe7f0e3e58 RCX: 00000000004665d9 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000043 RBP: 0000000000000000 R08: 0000000000000025 R09: 00007ffe7f0e3e58 R10: 00000000ffffffff R11: 0000000000000246 R12: 00000000004bef54 R13: 0000000000000010 R14: 0000000000000000 R15: 0000000000400538 ======================================================