** Changed in: ubuntu-kernel-tests
       Status: In Progress => Fix Released

** Changed in: ubuntu-kernel-tests
     Assignee: (unassigned) => Po-Hsu Lin (cypressyew)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.14 in Ubuntu.
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


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to