Q: tests/ioctl_kvm_run_common.c failing with KVM_EXIT_FAIL_ENTRY

Dmitry V. Levin ldv at altlinux.org
Thu May 23 10:12:05 UTC 2019


On Thu, May 23, 2019 at 12:23:45PM +0900, Masatake YAMATO wrote:
> > Hi,
> > 
> > Our ioctl_kvm_run* tests started to fail on f30-test.fedorainfracloud.org
> > with the following symptoms:
> > 
> > strace/tests$ ./ioctl_kvm_run; echo \$?=$?
> > ioctl(3</dev/kvm>, KVM_GET_API_VERSION, 0) = 12
> > ioctl(3</dev/kvm>, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY) = 1
> > ioctl(3</dev/kvm>, KVM_CREATE_VM, 0) = 4<anon_inode:kvm-vm>
> > ioctl(4<anon_inode:kvm-vm>, KVM_SET_USER_MEMORY_REGION, {slot=0, flags=0, guest_phys_addr=0x1000, memory_size=4096, userspace_addr=0x7fe116af2000}) = 0
> > ioctl(4<anon_inode:kvm-vm>, KVM_CREATE_VCPU, 0) = 5<anon_inode:kvm-vcpu:0>
> > ioctl(3</dev/kvm>, KVM_GET_VCPU_MMAP_SIZE, 0) = 12288
> > ioctl(3</dev/kvm>, KVM_GET_SUPPORTED_CPUID, 0x7fe116ac2378) = -1 E2BIG (Argument list too long)
> > ioctl(3</dev/kvm>, KVM_GET_SUPPORTED_CPUID, {nent=26, entries=[...]}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_SET_CPUID2, {nent=0, entries=[]}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_SET_CPUID2, {nent=26, entries=[...]}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_SET_CPUID2, NULL) = -1 EFAULT (Bad address)
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_GET_SREGS, {cs={base=0xffff0000, limit=65535, selector=61440, type=11, present=1, dpl=0, db=0, s=1, l=0, g=0, avl=0}, ...}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_SET_SREGS, {cs={base=0, limit=65535, selector=0, type=11, present=1, dpl=0, db=0, s=1, l=0, g=0, avl=0}, ...}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_SET_REGS, {rax=0x2, ..., rsp=0, rbp=0, ..., rip=0x1000, rflags=0x2}) = 0
> > ioctl(5<anon_inode:kvm-vcpu:0>, KVM_RUN, 0) = 0
> > exit_reason = 0x9
> > $?=1
> > 
> > exit_reason 0x9 is KVM_EXIT_FAIL_ENTRY.
> > 
> > This is happening in the following system:
> > Linux f30-test.fedorainfracloud.org 5.0.5-300.fc30.x86_64 #1 SMP Wed Mar 27 20:45:26 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
> > 
> > There are no such problems in the following systems:
> > Linux f29-test.fedorainfracloud.org 5.0.5-200.fc29.x86_64 #1 SMP Wed Mar 27 20:58:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
> > Linux rawhide-test.fedorainfracloud.org 4.19.0-0.rc8.git3.1.fc30.x86_64 #1 SMP Thu Oct 18 13:50:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
> > 
> > Any ideas how to handle this?
> 
> I tried the test case on my machine where 5.0.5-300.fc30.x86_64 runs.
> However, it is not reproduced.
> 
> I found an explanations about KVM_EXIT_FAIL_ENTRY in linux Documentation.
> linux/Documentation/virtual/kvm/api.txt:
> 
> 		    /* KVM_EXIT_FAIL_ENTRY */
> 		    struct {
> 			    __u64 hardware_entry_failure_reason;
> 		    } fail_entry;
> 
>     If exit_reason is KVM_EXIT_FAIL_ENTRY, the vcpu could not be run due
>     to unknown reasons.  Further architecture-specific information is
>     available in hardware_entry_failure_reason.
> 
> So the issue is very related to the hardware.
> 
> I sent a patch to the test case that dumps hardware_entry_failure_reason.
> We have to see the value.

With the patch applied it says:

Got an unexpected FAIL_ENTRY exit: hardware_entry_failure_reason: 0

> I would like to see the output of dmesg when the case is failed.

Nothing related to this test.

> I also want to know the contents of /proc/cpuinfo.

I suppose f30-test.fedorainfracloud.org is a kvm instance.

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 44
model name	: Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz
stepping	: 2
microcode	: 0x1
cpu MHz		: 3466.786
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm pti tpr_shadow vnmi flexpriority ept vpid tsc_adjust arat
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 6933.57
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 44
model name	: Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz
stepping	: 2
microcode	: 0x1
cpu MHz		: 3466.786
cache size	: 4096 KB
physical id	: 1
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm pti tpr_shadow vnmi flexpriority ept vpid tsc_adjust arat
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 6933.57
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20190523/7f0d0de3/attachment.bin>


More information about the Strace-devel mailing list