public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Zdenek Kaspar <zkaspar82@gmail.com>
To: Ben Gardon <bgardon@google.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Jim Mattson <jmattson@google.com>
Subject: Re: Unable to start VM with 5.10-rc3
Date: Wed, 11 Nov 2020 12:09:39 +0100	[thread overview]
Message-ID: <20201111120939.54929a50.zkaspar82@gmail.com> (raw)
In-Reply-To: <CANgfPd-gaDhmwPm5CC=cAFn8mBczbUjs7u3KucAGdKmU81Vbeg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2176 bytes --]

Hi, I'm sure my bisect has nothing to do with KVM,
because it was quick shot between -rc1 and previous release.

This old CPU doesn't have EPT (see attached file)

./run_tests.sh
FAIL apic-split (timeout; duration=90s)
FAIL ioapic-split (timeout; duration=90s)
FAIL apic (timeout; duration=30)
... ^C
few RIP is_tdp_mmu_root observed in dmesg

Z.

On Tue, 10 Nov 2020 17:13:21 -0800
Ben Gardon <bgardon@google.com> wrote:

> Hi Zdenek,
> 
> That crash is most likely the result of a missing check for an invalid
> root HPA or NULL shadow page in is_tdp_mmu_root, which could have
> prevented the NULL pointer dereference.
> However, I'm not sure how a vCPU got to that point in the page fault
> handler with a bad EPT root page.
> 
> I see VMX in your list of flags, is your machine 64 bit with EPT or
> some other configuration?
> 
> I'm surprised you are finding your machine unable to boot for
> bisecting. Do you know if it's crashing in the same spot or somewhere
> else? I wouldn't expect the KVM page fault handler to run as part of
> boot.
> 
> I will send out a patch first thing tomorrow morning (PST) to WARN
> instead of crashing with a NULL pointer dereference. Are you able to
> reproduce the issue with any KVM selftest?
> 
> Ben
> 
> 
> On Tue, Nov 10, 2020 at 7:24 AM Zdenek Kaspar <zkaspar82@gmail.com>
> wrote:
> >
> > Hi,
> >
> > attached file is result from today's linux-master (with fixes
> > for 5.10-rc4) when I try to start VM on older machine:
> >
> > model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
> > flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
> > pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe
> > syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl
> > cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16
> > xtpr pdcm lahf_lm pti tpr_shadow dtherm vmx flags       :
> > tsc_offset vtpr
> >
> > I did quick check with 5.9 (distro kernel) and it works,
> > but VM performance seems extremely impacted. 5.8 works fine.
> >
> > Back to 5.10 issue: it's problematic since 5.10-rc1 and I have no
> > luck with bisecting (machine doesn't boot).
> >
> > TIA, Z.


[-- Attachment #2: vmxcap-out --]
[-- Type: application/octet-stream, Size: 5466 bytes --]

Basic VMX Information
  Hex: 0x1a040000000007
  Revision                                 7
  VMCS size                                1024
  VMCS restricted to 32 bit addresses      no
  Dual-monitor support                     yes
  VMCS memory type                         6
  INS/OUTS instruction information         no
  IA32_VMX_TRUE_*_CTLS support             no
pin-based controls
  External interrupt exiting               yes
  NMI exiting                              yes
  Virtual NMIs                             no
  Activate VMX-preemption timer            no
  Process posted interrupts                no
primary processor-based controls
  Interrupt window exiting                 yes
  Use TSC offsetting                       yes
  HLT exiting                              yes
  INVLPG exiting                           yes
  MWAIT exiting                            yes
  RDPMC exiting                            yes
  RDTSC exiting                            yes
  CR3-load exiting                         forced
  CR3-store exiting                        forced
  CR8-load exiting                         yes
  CR8-store exiting                        yes
  Use TPR shadow                           yes
  NMI-window exiting                       no
  MOV-DR exiting                           yes
  Unconditional I/O exiting                yes
  Use I/O bitmaps                          yes
  Monitor trap flag                        no
  Use MSR bitmaps                          yes
  MONITOR exiting                          yes
  PAUSE exiting                            yes
  Activate secondary control               no
secondary processor-based controls
  Virtualize APIC accesses                 no
  Enable EPT                               no
  Descriptor-table exiting                 no
  Enable RDTSCP                            no
  Virtualize x2APIC mode                   no
  Enable VPID                              no
  WBINVD exiting                           no
  Unrestricted guest                       no
  APIC register emulation                  no
  Virtual interrupt delivery               no
  PAUSE-loop exiting                       no
  RDRAND exiting                           no
  Enable INVPCID                           no
  Enable VM functions                      no
  VMCS shadowing                           no
  Enable ENCLS exiting                     no
  RDSEED exiting                           no
  Enable PML                               no
  EPT-violation #VE                        no
  Conceal non-root operation from PT       no
  Enable XSAVES/XRSTORS                    no
  Mode-based execute control (XS/XU)       no
  Sub-page write permissions               no
  GPA translation for PT                   no
  TSC scaling                              no
  User wait and pause                      no
  ENCLV exiting                            no
VM-Exit controls
  Save debug controls                      forced
  Host address-space size                  yes
  Load IA32_PERF_GLOBAL_CTRL               no
  Acknowledge interrupt on exit            yes
  Save IA32_PAT                            no
  Load IA32_PAT                            no
  Save IA32_EFER                           no
  Load IA32_EFER                           no
  Save VMX-preemption timer value          no
  Clear IA32_BNDCFGS                       no
  Conceal VM exits from PT                 no
  Clear IA32_RTIT_CTL                      no
VM-Entry controls
  Load debug controls                      forced
  IA-32e mode guest                        yes
  Entry to SMM                             yes
  Deactivate dual-monitor treatment        yes
  Load IA32_PERF_GLOBAL_CTRL               no
  Load IA32_PAT                            no
  Load IA32_EFER                           no
  Load IA32_BNDCFGS                        no
  Conceal VM entries from PT               no
  Load IA32_RTIT_CTL                       no
Miscellaneous data
  Hex: 0x403c0
  VMX-preemption timer scale (log2)        0
  Store EFER.LMA into IA-32e mode guest control no
  HLT activity state                       yes
  Shutdown activity state                  yes
  Wait-for-SIPI activity state             yes
  PT in VMX operation                      no
  IA32_SMBASE support                      no
  Number of CR3-target values              4
  MSR-load/store count recommendation      0
  IA32_SMM_MONITOR_CTL[2] can be set to 1  no
  VMWRITE to VM-exit information fields    no
  Inject event with insn length=0          no
  MSEG revision identifier                 0
VPID and EPT capabilities
  Hex: 0x0
  Execute-only EPT translations            no
  Page-walk length 4                       no
  Paging-structure memory type UC          no
  Paging-structure memory type WB          no
  2MB EPT pages                            no
  1GB EPT pages                            no
  INVEPT supported                         no
  EPT accessed and dirty flags             no
  Advanced VM-exit information for EPT violations no
  Single-context INVEPT                    no
  All-context INVEPT                       no
  INVVPID supported                        no
  Individual-address INVVPID               no
  Single-context INVVPID                   no
  All-context INVVPID                      no
  Single-context-retaining-globals INVVPID no
VM Functions
  Hex: 0x0
  EPTP Switching                           no

  reply	other threads:[~2020-11-11 11:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-10 15:23 Unable to start VM with 5.10-rc3 Zdenek Kaspar
2020-11-11  1:13 ` Ben Gardon
2020-11-11 11:09   ` Zdenek Kaspar [this message]
2020-11-11 18:37     ` Ben Gardon
2020-11-11 22:16       ` Zdenek Kaspar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201111120939.54929a50.zkaspar82@gmail.com \
    --to=zkaspar82@gmail.com \
    --cc=bgardon@google.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox