lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 9 Nov 2017 19:10:31 +0800
From:   Wanpeng Li <kernellwp@...il.com>
To:     Paolo Bonzini <pbonzini@...hat.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

2017-11-09 19:05 GMT+08:00 Paolo Bonzini <pbonzini@...hat.com>:
> 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.

Fair enough. I will find time to do this recently. I guess Radim can
apply the whole patchset today. :)

Regards,
Wanpeng Li

Powered by blists - more mailing lists