All of lore.kernel.org
 help / color / mirror / Atom feed
* Unable to start VM with 5.10-rc3
@ 2020-11-10 15:23 Zdenek Kaspar
  2020-11-11  1:13 ` Ben Gardon
  0 siblings, 1 reply; 5+ messages in thread
From: Zdenek Kaspar @ 2020-11-10 15:23 UTC (permalink / raw)
  To: kvm

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

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: kvm-5.10-rc3-oops --]
[-- Type: application/octet-stream, Size: 4791 bytes --]

[  287.307287] BUG: kernel NULL pointer dereference, address: 00000000000000a4
[  287.307342] #PF: supervisor read access in kernel mode
[  287.307370] #PF: error_code(0x0000) - not-present page
[  287.307398] PGD 0 P4D 0 
[  287.307415] Oops: 0000 [#1] PREEMPT SMP PTI
[  287.307443] CPU: 1 PID: 608 Comm: qemu-build Not tainted 5.10.0-rc3-1-amd64 #1
[  287.307483] Hardware name:  /DG35EC, BIOS ECG3510M.86A.0118.2010.0113.1426 01/13/2010
[  287.307549] RIP: 0010:is_tdp_mmu_root+0x13/0x30 [kvm]
[  287.307578] Code: 48 8b 87 88 92 00 00 48 81 c7 88 92 00 00 48 39 f8 75 01 c3 0f 0b c3 48 c1 ee 0c 48 c1 e6 06 48 03 35 41 91 29 c9 48 8b 56 28 <0f> b6 82 a4 00 00 00 84 c0 74 08 8b 42 50 85 c0 0f 95 c0 c3 66 0f
[  287.307687] RSP: 0018:ffffb019c06c7c70 EFLAGS: 00010282
[  287.307717] RAX: ffff9bdeb0a44388 RBX: 0000000000000000 RCX: 0000000000000000
[  287.307756] RDX: 0000000000000000 RSI: ffffe3bd806b0780 RDI: ffffb019c0985000
[  287.307795] RBP: 00000000000fe000 R08: 0000000000000002 R09: 0000000000000000
[  287.307834] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000014
[  287.307873] R13: ffff9bdeb0a44000 R14: 0000000000000000 R15: 0000000000000001
[  287.307913] FS:  00007f7f93684640(0000) GS:ffff9bdeff280000(0000) knlGS:0000000000000000
[  287.307957] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  287.307988] CR2: 00000000000000a4 CR3: 00000000482ee000 CR4: 00000000000026e0
[  287.308027] Call Trace:
[  287.308055]  direct_page_fault+0x66/0x900 [kvm]
[  287.308094]  ? writeback_registers+0x18/0x60 [kvm]
[  287.308133]  ? x86_emulate_insn+0x5ee/0xe10 [kvm]
[  287.308169]  kvm_mmu_page_fault+0x344/0x4f0 [kvm]
[  287.308201]  ? vmx_vcpu_enter_exit+0x5c/0x90 [kvm_intel]
[  287.308243]  kvm_arch_vcpu_ioctl_run+0xcaa/0x1c60 [kvm]
[  287.308284]  kvm_vcpu_ioctl+0x203/0x520 [kvm]
[  287.308313]  __x64_sys_ioctl+0x338/0x720
[  287.308338]  ? __x64_sys_futex+0x120/0x190
[  287.308362]  ? restore_altstack+0x14/0xc0
[  287.308388]  do_syscall_64+0x33/0x40
[  287.308409]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  287.308438] RIP: 0033:0x7f7f94bd1f6b
[  287.308457] Code: 89 d8 49 8d 3c 1c 48 f7 d8 49 39 c4 72 b5 e8 1c ff ff ff 85 c0 78 ba 4c 89 e0 5b 5d 41 5c c3 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d d5 ae 0c 00 f7 d8 64 89 01 48
[  287.308563] RSP: 002b:00007f7f93683628 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  287.310506] RAX: ffffffffffffffda RBX: 000000000000ae80 RCX: 00007f7f94bd1f6b
[  287.312451] RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000012
[  287.314336] RBP: 00005570b8032af0 R08: 00005570b60e6850 R09: 00005570b66f9620
[  287.316212] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[  287.318080] R13: 00005570b66db800 R14: 0000000000000000 R15: 00007f7f93684640
[  287.319927] Modules linked in: vhost_net vhost vhost_iotlb tun nft_reject_ipv4 nf_reject_ipv4 nft_reject nf_tables nfnetlink veth nfsd xxhash_generic nhpoly1305_sse2 nhpoly1305 chacha_generic chacha_x86_64 libchacha adiantum libpoly1305 algif_skcipher af_alg auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc nfs_ssc lzo zram zsmalloc cpufreq_powersave kvm_intel i915 kvm iTCO_wdt lpc_ich bridge video intel_gtt mfd_core 8250 iosf_mbi 8250_base irqbypass i2c_algo_bit evdev e1000e stp llc drm_kms_helper serial_core acpi_cpufreq processor syscopyarea sysfillrect sysimgblt fb_sys_fops button drm sch_fq_codel i2c_core backlight ip_tables x_tables ipv6 autofs4 btrfs blake2b_generic libcrc32c crc32c_generic xor zstd_decompress zstd_compress lzo_compress lzo_decompress raid6_pq ecb xts dm_crypt dm_mod sd_mod t10_pi hid_generic usbhid hid uhci_hcd ehci_pci ehci_hcd ahci sata_sil24 pata_jmicron libahci usbcore usb_common
[  287.332454] CR2: 00000000000000a4
[  287.334683] ---[ end trace abb75000bdcae706 ]---
[  287.336922] RIP: 0010:is_tdp_mmu_root+0x13/0x30 [kvm]
[  287.339211] Code: 48 8b 87 88 92 00 00 48 81 c7 88 92 00 00 48 39 f8 75 01 c3 0f 0b c3 48 c1 ee 0c 48 c1 e6 06 48 03 35 41 91 29 c9 48 8b 56 28 <0f> b6 82 a4 00 00 00 84 c0 74 08 8b 42 50 85 c0 0f 95 c0 c3 66 0f
[  287.343891] RSP: 0018:ffffb019c06c7c70 EFLAGS: 00010282
[  287.346272] RAX: ffff9bdeb0a44388 RBX: 0000000000000000 RCX: 0000000000000000
[  287.348665] RDX: 0000000000000000 RSI: ffffe3bd806b0780 RDI: ffffb019c0985000
[  287.351085] RBP: 00000000000fe000 R08: 0000000000000002 R09: 0000000000000000
[  287.353499] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000014
[  287.355912] R13: ffff9bdeb0a44000 R14: 0000000000000000 R15: 0000000000000001
[  287.358336] FS:  00007f7f93684640(0000) GS:ffff9bdeff280000(0000) knlGS:0000000000000000
[  287.360768] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  287.363207] CR2: 00000000000000a4 CR3: 00000000482ee000 CR4: 00000000000026e0

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to start VM with 5.10-rc3
  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
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Gardon @ 2020-11-11  1:13 UTC (permalink / raw)
  To: Zdenek Kaspar; +Cc: kvm, Jim Mattson

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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to start VM with 5.10-rc3
  2020-11-11  1:13 ` Ben Gardon
@ 2020-11-11 11:09   ` Zdenek Kaspar
  2020-11-11 18:37     ` Ben Gardon
  0 siblings, 1 reply; 5+ messages in thread
From: Zdenek Kaspar @ 2020-11-11 11:09 UTC (permalink / raw)
  To: Ben Gardon; +Cc: kvm, Jim Mattson

[-- 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to start VM with 5.10-rc3
  2020-11-11 11:09   ` Zdenek Kaspar
@ 2020-11-11 18:37     ` Ben Gardon
  2020-11-11 22:16       ` Zdenek Kaspar
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Gardon @ 2020-11-11 18:37 UTC (permalink / raw)
  To: Zdenek Kaspar; +Cc: kvm, Jim Mattson

Hi Zdenek,

I'm working on reproducing the issue. I don't have access to a CPU
without EPT, but I tried turning off EPT on a Skylake and I think I
reproduced the issue, but wasn't able to confirm in the logs.

If you were operating without EPT I assume the guest was in non-paging
mode to get into direct_page_fault in the first place. I would still
have expected the root HPA to be valid unless...

Ah, if you're operating with PAE, then the root hpa will be valid but
not have a shadow page associated with it, as it is set to
__pa(vcpu->arch.mmu->pae_root) in mmu_alloc_direct_roots.
In that case, I can see why we get a NULL pointer dereference in
is_tdp_mmu_root.

I will send out a patch that should fix this if the issue is as
described above. I don't have hardware to test this on, but if you
don't mind applying the patch and checking it, that would be awesome.

Ben

On Wed, Nov 11, 2020 at 3:09 AM Zdenek Kaspar <zkaspar82@gmail.com> wrote:
>
> 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.
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to start VM with 5.10-rc3
  2020-11-11 18:37     ` Ben Gardon
@ 2020-11-11 22:16       ` Zdenek Kaspar
  0 siblings, 0 replies; 5+ messages in thread
From: Zdenek Kaspar @ 2020-11-11 22:16 UTC (permalink / raw)
  To: Ben Gardon; +Cc: kvm, Jim Mattson

Hi Ben,

[PATCH] kvm: x86/mmu: Fix is_tdp_mmu_check when using PAE

fixes is_tdp_mmu_root NULL pointer dereference,
tested on: Intel(R) Core(TM)2 CPU 6600  @ 2.40GHz

Thanks, Z.

On Wed, 11 Nov 2020 10:37:49 -0800
Ben Gardon <bgardon@google.com> wrote:

> Hi Zdenek,
> 
> I'm working on reproducing the issue. I don't have access to a CPU
> without EPT, but I tried turning off EPT on a Skylake and I think I
> reproduced the issue, but wasn't able to confirm in the logs.
> 
> If you were operating without EPT I assume the guest was in non-paging
> mode to get into direct_page_fault in the first place. I would still
> have expected the root HPA to be valid unless...
> 
> Ah, if you're operating with PAE, then the root hpa will be valid but
> not have a shadow page associated with it, as it is set to
> __pa(vcpu->arch.mmu->pae_root) in mmu_alloc_direct_roots.
> In that case, I can see why we get a NULL pointer dereference in
> is_tdp_mmu_root.
> 
> I will send out a patch that should fix this if the issue is as
> described above. I don't have hardware to test this on, but if you
> don't mind applying the patch and checking it, that would be awesome.
> 
> Ben
> 
> On Wed, Nov 11, 2020 at 3:09 AM Zdenek Kaspar <zkaspar82@gmail.com>
> wrote:
> >
> > 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.
> >


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-11-11 22:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2020-11-11 18:37     ` Ben Gardon
2020-11-11 22:16       ` Zdenek Kaspar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.