Re: [PATCH v3] target/i386/kvm: Refine VMX controls setting for backward compatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Maintainers and Paolo,

I hope this message finds you well. I am writing to inquire about the status of
the patch I submitted a month ago. Could you please provide any updates or
addtional comments regarding its review?

Thank you for your time and assistance.

Best regards,
Ewan

On 6/25/24 10:08, Zhao Liu wrote:
Additionally, has_msr_vmx_vmfunc has the similar compat issue. I think
it deserves a fix, too.

-Zhao
Thanks for your reply. In fact, I've tried to process has_msr_vmx_vmfunc in
the same
way as has_msr_vmx_procbased_ctls in this patch, but when I tested on Linux
kernel
4.19.67, I encountered an "error: failed to set MSR 0x491 to 0x***".

This issue is due to Linux kernel commit 27c42a1bb ("KVM: nVMX: Enable
VMFUNC
for the L1 hypervisor", 2017-08-03) exposing VMFUNC to the QEMU guest
without
corresponding VMFUNC MSR modification code, leading to an error when QEMU
attempts
to set the VMFUNC MSR. This bug affects kernels from 4.14 to 5.2, with a fix
introduced
in 5.3 by Paolo (e8a70bd4e "KVM: nVMX: allow setting the VMFUNC controls
MSR", 2019-07-02).
It looks like this fix was not ported to the 4.19 stable kernel.

So the fix for has_msr_vmx_vmfunc is clearly different from
has_msr_vmx_procbased_ctls2.
However, due to the different kernel support situations, I have not yet come
up with a suitable
way to handle the compatibility of has_msr_vmx_procbased_ctls2 across
different kernel versions.

Therefore, should we consider only fixing has_msr_vmx_procbased_ctls2 this
time and addressing
has_msr_vmx_vmfunc in a future patch when the timing is more appropriate?

I agree this fix should focus on MSR_IA32_VMX_PROCBASED_CTLS2.

But I think at least we need a comment (maybe a TODO) to note the case of
has_msr_vmx_vmfunc in a followup patch.

Let's wait and see what Paolo will say.

-Zhao





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux