Created attachment 301133 [details] The kernel config file I used to build kernel Environment: CPU Architecture: x86_64 Host OS: Red Hat Enterprise Linux 8.4 (Ootpa) Host kernel: Linux 5.18 release gcc: gcc (GCC) 8.3.1 Host kernel source: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Branch: master Commit: 4b0986a3613c92f4ec1bdc7f60ec66fea135991f Tag: v5.18 Bug Detailed Description: Assertion failure happened after executing kvm selftest mmu_role_test with argument -g or -m. Reproducing Steps: git clone https://git.kernel.org/pub/scm/virt/kvm/kvm.git cd kvm/tools/testing/selftests/kvm && make cd x86_64 && ./mmu_role_test -g ./mmu_role_test -m Actual Result: [root@icx-2s2 ~]# /usr/local/bin/mmu_role_test -g Test MMIO after toggling CPUID.GBPAGES ==== Test Assertion Failure ==== lib/x86_64/processor.c:898: rc == 0 pid=189748 tid=189748 errno=22 - Invalid argument 1 0x000000000040b66a: vcpu_set_cpuid at processor.c:897 2 0x00000000004026df: mmu_role_test at mmu_role_test.c:60 3 0x00000000004024a2: main at mmu_role_test.c:137 4 0x00007f73b16237b2: ?? ??:0 5 0x00000000004024ed: _start at ??:? KVM_SET_CPUID2 failed, rc: -1 errno: 22 [root@icx-2s2 ~]# /usr/local/bin/mmu_role_test -m Test MMIO after changing CPUID.MAXPHYADDR ==== Test Assertion Failure ==== lib/x86_64/processor.c:898: rc == 0 pid=189759 tid=189759 errno=22 - Invalid argument 1 0x000000000040b66a: vcpu_set_cpuid at processor.c:897 2 0x00000000004026df: mmu_role_test at mmu_role_test.c:60 3 0x0000000000402479: main at mmu_role_test.c:143 4 0x00007f318f8237b2: ?? ??:0 5 0x00000000004024ed: _start at ??:? KVM_SET_CPUID2 failed, rc: -1 errno: 22 Expected result: [root@icx-2s2 ~]# /usr/local/bin/mmu_role_test -g [root@icx-2s2 ~]# /usr/local/bin/mmu_role_test -m [root@icx-2s2 ~]#
(In reply to Yang Lixiao from comment #0) Correction: Actual Result: [root@icx-2s2 ~]# kvm/tools/testing/selftests/kvm/mmu_role_test -g Test MMIO after toggling CPUID.GBPAGES ==== Test Assertion Failure ==== lib/x86_64/processor.c:898: rc == 0 pid=189748 tid=189748 errno=22 - Invalid argument 1 0x000000000040b66a: vcpu_set_cpuid at processor.c:897 2 0x00000000004026df: mmu_role_test at mmu_role_test.c:60 3 0x00000000004024a2: main at mmu_role_test.c:137 4 0x00007f73b16237b2: ?? ??:0 5 0x00000000004024ed: _start at ??:? KVM_SET_CPUID2 failed, rc: -1 errno: 22 [root@icx-2s2 ~]#kvm/tools/testing/selftests/kvm/mmu_role_test -m Test MMIO after changing CPUID.MAXPHYADDR ==== Test Assertion Failure ==== lib/x86_64/processor.c:898: rc == 0 pid=189759 tid=189759 errno=22 - Invalid argument 1 0x000000000040b66a: vcpu_set_cpuid at processor.c:897 2 0x00000000004026df: mmu_role_test at mmu_role_test.c:60 3 0x0000000000402479: main at mmu_role_test.c:143 4 0x00007f318f8237b2: ?? ??:0 5 0x00000000004024ed: _start at ??:? KVM_SET_CPUID2 failed, rc: -1 errno: 22
This test was made obsolete by disallowing CPUID changes after KVM_RUN. https://lore.kernel.org/all/20220604012058.1972195-14-seanjc@google.com