canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #07058
[Bug 1956315] Re: vmx_ldtr_test in ubuntu_kvm_unit_tests failed (FAIL: Expected 0 for L1 LDTR selector (got 50))
** Tags added: kernel-daily-bug
--
You received this bug notification because you are a member of Canonical
Platform QA Team, which is subscribed to ubuntu-kernel-tests.
https://bugs.launchpad.net/bugs/1956315
Title:
vmx_ldtr_test in ubuntu_kvm_unit_tests failed (FAIL: Expected 0 for L1
LDTR selector (got 50))
Status in ubuntu-kernel-tests:
Fix Released
Status in linux package in Ubuntu:
Fix Released
Status in linux-oem-5.14 package in Ubuntu:
Invalid
Status in linux source package in Bionic:
Fix Released
Status in linux-oem-5.14 source package in Bionic:
Invalid
Status in linux source package in Focal:
Fix Released
Status in linux-oem-5.14 source package in Focal:
Fix Released
Status in linux source package in Impish:
Fix Released
Status in linux-oem-5.14 source package in Impish:
Invalid
Status in linux source package in Jammy:
Fix Released
Status in linux-oem-5.14 source package in Jammy:
Invalid
Bug description:
[Impact]
vmx_ldtr_test in ubuntu_kvm_unit_tests will fail with:
FAIL: Expected 0 for L1 LDTR selector (got 50)
It's a test for commit afc8de01 "KVM: nVMX: Set LDTR to its
architecturally defined value on nested VM-Exit"
According to Intel 64 and IA-32 Architectures Software Developer’s
Manual, L1's LDTR should be 0 after an emulated VM-exit from L2.
[Fix]
* afc8de01 "KVM: nVMX: Set LDTR to its architecturally defined value
on nested VM-Exit"
We already have this patch in Jammy.
This patch can be cherry-picked into F/F-OEM-5.14/I. But some
straightforward backport work is required for Bionic, as the code
snippet for nested KVM haven't been split out to vmx/nested.c
(55d2375e KVM: nVMX: Move nested code to dedicated files).
[Test]
Test kernels can be found here:
https://people.canonical.com/~phlin/kernel/lp-1956315-vmx-ldtr/
Tested with:
* B (bare-metal / KVM instance)
* F (KVM instance)
* I (bare-metal / KVM instance)
With this patched kernel, this test will pass:
PASS: Expected 0 for L1 LDTR selector (got 0)
Also tested with ubuntu_kvm_unit_tests and ubuntu_kvm_smoke_test to
make sure this is not causing any other regressions.
[Where problem could occur]
If the patch is incorrect it might affect the nested KVM functionality
while existing from L2 to L1.
[Original bug description]
Issue found on Bionic 4.15.0-166.174 with node rizzo
Running 'kvm-ok'
INFO: /dev/kvm exists
KVM acceleration can be used
'/home/ubuntu/autotest/client/tmp/ubuntu_kvm_unit_tests/src/kvm-unit-tests/tests/vmx_ldtr_test'
BUILD_HEAD=8a30588c
timeout -k 1s --foreground 90s /usr/bin/qemu-system-x86_64 --no-reboot -nodefaults -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -machine accel=kvm -kernel /tmp/tmp.Lnfifekq7r -smp 1 -cpu max,+vmx -append vmx_ldtr_test # -initrd /tmp/tmp.i9y5hdMh49
enabling apic
paging enabled
cr0 = 80010011
cr3 = 1007000
cr4 = 20
filter = vmx_ldtr_test, test = test_vmx_feature_control
filter = vmx_ldtr_test, test = test_vmxon
filter = vmx_ldtr_test, test = test_vmptrld
filter = vmx_ldtr_test, test = test_vmclear
filter = vmx_ldtr_test, test = test_vmptrst
filter = vmx_ldtr_test, test = test_vmwrite_vmread
filter = vmx_ldtr_test, test = test_vmcs_high
filter = vmx_ldtr_test, test = test_vmcs_lifecycle
filter = vmx_ldtr_test, test = test_vmx_caps
filter = vmx_ldtr_test, test = test_vmread_flags_touch
filter = vmx_ldtr_test, test = test_vmwrite_flags_touch
filter = vmx_ldtr_test, test = null
filter = vmx_ldtr_test, test = vmenter
filter = vmx_ldtr_test, test = preemption timer
filter = vmx_ldtr_test, test = control field PAT
filter = vmx_ldtr_test, test = control field EFER
filter = vmx_ldtr_test, test = CR shadowing
filter = vmx_ldtr_test, test = I/O bitmap
filter = vmx_ldtr_test, test = instruction intercept
filter = vmx_ldtr_test, test = EPT A/D disabled
filter = vmx_ldtr_test, test = EPT A/D enabled
filter = vmx_ldtr_test, test = PML
filter = vmx_ldtr_test, test = interrupt
filter = vmx_ldtr_test, test = nmi_hlt
filter = vmx_ldtr_test, test = debug controls
filter = vmx_ldtr_test, test = MSR switch
filter = vmx_ldtr_test, test = vmmcall
filter = vmx_ldtr_test, test = disable RDTSCP
filter = vmx_ldtr_test, test = int3
filter = vmx_ldtr_test, test = into
filter = vmx_ldtr_test, test = exit_monitor_from_l2_test
filter = vmx_ldtr_test, test = invalid_msr
filter = vmx_ldtr_test, test = v2_null_test
filter = vmx_ldtr_test, test = v2_multiple_entries_test
filter = vmx_ldtr_test, test = fixture_test_case1
filter = vmx_ldtr_test, test = fixture_test_case2
filter = vmx_ldtr_test, test = invvpid_test
filter = vmx_ldtr_test, test = vmx_controls_test
filter = vmx_ldtr_test, test = vmx_host_state_area_test
filter = vmx_ldtr_test, test = vmx_guest_state_area_test
filter = vmx_ldtr_test, test = vmentry_movss_shadow_test
filter = vmx_ldtr_test, test = vmentry_unrestricted_guest_test
filter = vmx_ldtr_test, test = vmx_eoi_bitmap_ioapic_scan_test
filter = vmx_ldtr_test, test = vmx_hlt_with_rvi_test
filter = vmx_ldtr_test, test = apic_reg_virt_test
filter = vmx_ldtr_test, test = virt_x2apic_mode_test
filter = vmx_ldtr_test, test = vmx_apic_passthrough_test
filter = vmx_ldtr_test, test = vmx_apic_passthrough_thread_test
filter = vmx_ldtr_test, test = vmx_apic_passthrough_tpr_threshold_test
filter = vmx_ldtr_test, test = vmx_init_signal_test
filter = vmx_ldtr_test, test = vmx_sipi_signal_test
filter = vmx_ldtr_test, test = vmx_vmcs_shadow_test
filter = vmx_ldtr_test, test = vmx_ldtr_test
Test suite: vmx_ldtr_test
PASS: Expected 18 for L2 LDTR selector (got 18)
FAIL: Expected 0 for L1 LDTR selector (got 50)
filter = vmx_ldtr_test, test = vmx_cr_load_test
filter = vmx_ldtr_test, test = vmx_cr4_osxsave_test
filter = vmx_ldtr_test, test = vmx_nm_test
filter = vmx_ldtr_test, test = vmx_db_test
filter = vmx_ldtr_test, test = vmx_nmi_window_test
filter = vmx_ldtr_test, test = vmx_intr_window_test
filter = vmx_ldtr_test, test = vmx_pending_event_test
filter = vmx_ldtr_test, test = vmx_pending_event_hlt_test
filter = vmx_ldtr_test, test = vmx_store_tsc_test
filter = vmx_ldtr_test, test = vmx_preemption_timer_zero_test
filter = vmx_ldtr_test, test = vmx_preemption_timer_tf_test
filter = vmx_ldtr_test, test = vmx_preemption_timer_expiry_test
filter = vmx_ldtr_test, test = ept_access_test_not_present
filter = vmx_ldtr_test, test = ept_access_test_read_only
filter = vmx_ldtr_test, test = ept_access_test_write_only
filter = vmx_ldtr_test, test = ept_access_test_read_write
filter = vmx_ldtr_test, test = ept_access_test_execute_only
filter = vmx_ldtr_test, test = ept_access_test_read_execute
filter = vmx_ldtr_test, test = ept_access_test_write_execute
filter = vmx_ldtr_test, test = ept_access_test_read_write_execute
filter = vmx_ldtr_test, test = ept_access_test_reserved_bits
filter = vmx_ldtr_test, test = ept_access_test_ignored_bits
filter = vmx_ldtr_test, test = ept_access_test_paddr_not_present_ad_disabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_not_present_ad_enabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_only_ad_disabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_only_ad_enabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_write
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_write_execute
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_execute_ad_disabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_read_execute_ad_enabled
filter = vmx_ldtr_test, test = ept_access_test_paddr_not_present_page_fault
filter = vmx_ldtr_test, test = ept_access_test_force_2m_page
filter = vmx_ldtr_test, test = atomic_switch_max_msrs_test
filter = vmx_ldtr_test, test = atomic_switch_overflow_msrs_test
filter = vmx_ldtr_test, test = rdtsc_vmexit_diff_test
filter = vmx_ldtr_test, test = vmx_mtf_test
filter = vmx_ldtr_test, test = vmx_mtf_pdpte_test
filter = vmx_ldtr_test, test = vmx_pf_exception_test
filter = vmx_ldtr_test, test = vmx_pf_no_vpid_test
filter = vmx_ldtr_test, test = vmx_pf_invvpid_test
filter = vmx_ldtr_test, test = vmx_pf_vpid_test
SUMMARY: 5 tests, 1 unexpected failures
FAIL vmx_ldtr_test (5 tests, 1 unexpected failures)
This is a new test added into vmx (and split out for debug purpose),
so it's not a regression.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1956315/+subscriptions