mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
KVM: selftests: Verify KVM disable interception (for userspace) on filter change
Re-read MSR_{FS,GS}_BASE after restoring the "allow everything" userspace
MSR filter to verify that KVM stops forwarding exits to userspace. This
can also be used in conjunction with manual verification (e.g. printk) to
ensure KVM is correctly updating the MSR bitmaps consumed by hardware.
Tested-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Tested-by: Manali Shukla <Manali.Shukla@amd.com>
Link: https://lore.kernel.org/r/20250610225737.156318-33-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
bea44d1992
commit
0792c71c1c
|
|
@ -343,6 +343,12 @@ static void guest_code_permission_bitmap(void)
|
|||
data = test_rdmsr(MSR_GS_BASE);
|
||||
GUEST_ASSERT(data == MSR_GS_BASE);
|
||||
|
||||
/* Access the MSRs again to ensure KVM has disabled interception.*/
|
||||
data = test_rdmsr(MSR_FS_BASE);
|
||||
GUEST_ASSERT(data != MSR_FS_BASE);
|
||||
data = test_rdmsr(MSR_GS_BASE);
|
||||
GUEST_ASSERT(data != MSR_GS_BASE);
|
||||
|
||||
GUEST_DONE();
|
||||
}
|
||||
|
||||
|
|
@ -682,6 +688,8 @@ KVM_ONE_VCPU_TEST(user_msr, msr_permission_bitmap, guest_code_permission_bitmap)
|
|||
"Expected ucall state to be UCALL_SYNC.");
|
||||
vm_ioctl(vm, KVM_X86_SET_MSR_FILTER, &filter_gs);
|
||||
run_guest_then_process_rdmsr(vcpu, MSR_GS_BASE);
|
||||
|
||||
vm_ioctl(vm, KVM_X86_SET_MSR_FILTER, &filter_allow);
|
||||
run_guest_then_process_ucall_done(vcpu);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user