lkml.org 
[lkml]   [2014]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 3.2 087/102] nEPT: Nested INVEPT
    From
    Date
    On Mon, 2014-11-03 at 16:29 +0100, Paolo Bonzini wrote:
    > On 03/11/2014 14:44, Ben Hutchings wrote:
    > >> You can just use the same scheme as your patch 88/102:
    > > Why is that? Why should I not use the upstream version?
    >
    > Because it makes no sense to invalidate nested EPT page tables, if the
    > kernel cannot make nested EPT page tables in the first place.

    Indeed, but I didn't realise it wasn't.

    > I think that this "if" in your patch should always trigger, thus making
    > your large patch equivalent to my small patch:
    >
    > + if (!(nested_vmx_secondary_ctls_high & SECONDARY_EXEC_ENABLE_EPT) ||
    > + !(nested_vmx_ept_caps & VMX_EPT_INVEPT_BIT)) {
    > + kvm_queue_exception(vcpu, UD_VECTOR);
    > + return 1;
    > + }
    >
    > ... but without looking at the entire source of vmx.c in the relatively
    > old 3.2 kernel, I'd rather play it safe and avoid introducing bugs in case
    > the above turns out not to be true.

    I see - only the SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES flag should be
    set in nested_vmx_secondary_ctls_high. I'll use your simple version,
    thanks.

    Ben.

    --
    Ben Hutchings
    The program is absolutely right; therefore, the computer must be wrong.
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2014-11-05 22:01    [W:4.848 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site