Re: [PATCH v3 4/4] selftests: kvm: Test MSR exiting to userspace

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

 



On Mon, Oct 12, 2020 at 12:47 PM Aaron Lewis <aaronlewis@xxxxxxxxxx> wrote:
>
> Add a selftest to test that when the ioctl KVM_X86_SET_MSR_FILTER is
> called with an MSR list, those MSRs exit to userspace.
>
> This test uses 3 MSRs to test this:
>   1. MSR_IA32_XSS, an MSR the kernel knows about.
>   2. MSR_IA32_FLUSH_CMD, an MSR the kernel does not know about.
>   3. MSR_NON_EXISTENT, an MSR invented in this test for the purposes of
>      passing a fake MSR from the guest to userspace.  KVM just acts as a
>      pass through.
>
> Userspace is also able to inject a #GP.  This is demonstrated when
> MSR_IA32_XSS and MSR_IA32_FLUSH_CMD are misused in the test.  When this
> happens a #GP is initiated in userspace to be thrown in the guest which is
> handled gracefully by the exception handling framework introduced earlier
> in this series.
>
> Tests for the generic instruction emulator were also added.  For this to
> work the module parameter kvm.force_emulation_prefix=1 has to be enabled.
> If it isn't enabled the tests will be skipped.
>
> A test was also added to ensure the MSR permission bitmap is being set
> correctly by executing reads and writes of MSR_FS_BASE and MSR_GS_BASE
> in the guest while alternating which MSR userspace should intercept.  If
> the permission bitmap is being set correctly only one of the MSRs should
> be coming through at a time, and the guest should be able to read and
> write the other one directly.
>
> Signed-off-by: Aaron Lewis <aaronlewis@xxxxxxxxxx>
> Reviewed-by: Alexander Graf <graf@xxxxxxxxxx>
> ---
>  tools/testing/selftests/kvm/.gitignore        |   1 +
>  tools/testing/selftests/kvm/Makefile          |   1 +
>  tools/testing/selftests/kvm/lib/kvm_util.c    |   2 +
>  .../kvm/x86_64/userspace_msr_exit_test.c      | 560 ++++++++++++++++++
>  4 files changed, 564 insertions(+)
>  create mode 100644 tools/testing/selftests/kvm/x86_64/userspace_msr_exit_test.c
>

It looks like the rest of this patchset has been accepted upstream.
Is this one okay to be taken too?



[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