Re: [PATCH 03/28] KVM: nSVM: inject exceptions via svm_check_nested_events

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

 



On 08/03/21 21:43, Sean Christopherson wrote:
On Mon, Mar 08, 2021, Paolo Bonzini wrote:
On 08/03/21 17:44, Sean Christopherson wrote:
VMCALL is also probably ok
in most scenarios, but patching L2's code from L0 KVM is sketchy.

I agree that patching is sketchy and I'll send a patch.  However...

The same is true for the VMware #GP interception case.

I highly doubt that will ever work out as intended for the modified IO #GP
behavior.  The only way emulating #GP in L2 is correct if L1 wants to pass
through the capabilities to L2, i.e. the I/O access isn't intercepted by L1.
That seems unlikely.

... not all hypervisors trap everything.  In particular in this case the
VMCS12 I/O permission bitmap should be consulted (which we do in
vmx_check_intercept_io), but if the I/O is not trapped by L1 it should
bypass the IOPL and TSS-bitmap checks in my opinion.

I agree, _if_ it's not trapped.  But bypassing the checks when it is trapped is
clearly wrong.

You can still trap #GP unconditionally and run the emulator. The intercept check will (or should) handle it.

Paolo




[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