[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b77093db-9c9b-7f94-7442-22441d2a513f@redhat.com>
Date: Thu, 9 Nov 2017 12:05:11 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: Wanpeng Li <kernellwp@...il.com>
Cc: Jim Mattson <jmattson@...gle.com>,
Krish Sadhukhan <krish.sadhukhan@...cle.com>,
LKML <linux-kernel@...r.kernel.org>,
kvm list <kvm@...r.kernel.org>,
Radim Krčmář <rkrcmar@...hat.com>,
Wanpeng Li <wanpeng.li@...mail.com>
Subject: Re: [PATCH v5 3/3] KVM: nVMX: Fix mmu context after VMLAUNCH/VMRESUME
failure
On 09/11/2017 11:47, Wanpeng Li wrote:
> 2017-11-09 18:40 GMT+08:00 Paolo Bonzini <pbonzini@...hat.com>:
>> On 09/11/2017 01:37, Wanpeng Li wrote:
>>> 2017-11-09 5:47 GMT+08:00 Jim Mattson <jmattson@...gle.com>:
>>>> I realize now that there are actually many other problems with
>>>> deferring some control field checks to the hardware VM-entry of
>>>> vmcs02. When there is an invalid control field, the vCPU should just
>>>> fall through to the next instruction, without any state modifiation
>>>> other than the ALU flags and the VM-instruction error field of the
>>>> current VMCS. However, in preparation for the hardware VM-entry of
>>>> vmcs02, we have already changed quite a bit of the vCPU state: the
>>>> MSRs on the VM-entry MSR-load list, DR7, IA32_DEBUGCTL, the entire
>>>> FLAGS register, etc. All of these changes should be undone, and we're
>>>> not prepared to do that. (For instance, what was the old DR7 value
>>>> that needs to be restored?)
>>> I didn't observe real issue currently, and I hope this patchset can
>>> catch the upcoming merge window. Then we can dig more into your
>>> concern.
>>
>> Can any of you write a simple testcase for just one bug (e.g. DR7)?
>
> Jim you can have a try for your concern, I have already tried tons of
> stress testing and didn't observe any issue.
You need to craft a testcase for kvm-unit-tests. No stress testing will
find an issue.
Your patch is fine, but Jim is saying that we cannot really skip the
check for invalid control fields. It's a more general issue that can be
fixed by adding explicit checks in KVM.
Paolo
Powered by blists - more mailing lists