From: Sean Christopherson <sean.j.christopherson@intel.com>
To: Yang Weijiang <weijiang.yang@intel.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
pbonzini@redhat.com, jmattson@google.com,
yu.c.zhang@linux.intel.com
Subject: Re: [PATCH v11 3/9] KVM: VMX: Set host/guest CET states for vmexit/vmentry
Date: Mon, 27 Apr 2020 10:56:47 -0700 [thread overview]
Message-ID: <20200427175647.GK14870@linux.intel.com> (raw)
In-Reply-To: <20200427170426.GH14870@linux.intel.com>
On Mon, Apr 27, 2020 at 10:04:26AM -0700, Sean Christopherson wrote:
> On Sat, Apr 25, 2020 at 05:20:21PM +0800, Yang Weijiang wrote:
> > On Fri, Apr 24, 2020 at 07:49:41AM -0700, Sean Christopherson wrote:
> > > On Fri, Apr 24, 2020 at 10:35:10PM +0800, Yang Weijiang wrote:
> > > > On Thu, Apr 23, 2020 at 10:17:41AM -0700, Sean Christopherson wrote:
> > > > > On Thu, Mar 26, 2020 at 04:18:40PM +0800, Yang Weijiang wrote:
> > > > > > @@ -7140,8 +7175,23 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
> > > > > > }
> > > > > >
> > > > > > if (guest_cpuid_has(vcpu, X86_FEATURE_SHSTK) ||
> > > > > > - guest_cpuid_has(vcpu, X86_FEATURE_IBT))
> > > > > > + guest_cpuid_has(vcpu, X86_FEATURE_IBT)) {
> > > > > > vmx_update_intercept_for_cet_msr(vcpu);
> > > > > > +
> > > > > > + if (cpu_has_cet_guest_load_ctrl() && is_cet_supported(vcpu))
> > > > > > + vm_entry_controls_setbit(to_vmx(vcpu),
> > > > > > + VM_ENTRY_LOAD_GUEST_CET_STATE);
> > > > > > + else
> > > > > > + vm_entry_controls_clearbit(to_vmx(vcpu),
> > > > > > + VM_ENTRY_LOAD_GUEST_CET_STATE);
> > > > > > +
> > > > > > + if (cpu_has_cet_host_load_ctrl() && is_cet_supported(vcpu))
> > > > > > + vm_exit_controls_setbit(to_vmx(vcpu),
> > > > > > + VM_EXIT_LOAD_HOST_CET_STATE);
> > > > > > + else
> > > > > > + vm_exit_controls_clearbit(to_vmx(vcpu),
> > > > > > + VM_EXIT_LOAD_HOST_CET_STATE);
> > > > >
> > > > > As above, I think this can be done in vmx_set_cr4().
> > > > >
> > > > Hmm, it's in vmx_set_cr4() in early versions, OK, will move them back.
> > >
> > > Did I advise you to move them out of vmx_set_cr4()? It's entirely possible
> > > I forgot some detail since the last time I reviewed this series.
> > Things are always changing, I'm willing to change any part of the patch
> > before it's landed :-).
>
> I'm worried that there was a reason for requesting the logic to be moved
> out vmx_set_cr4() that I've since forgotten. I'll see if I can dredge up
> the old mail.
Aha. v1-v7 had this in cr4. In v7, you stated that you would move the
toggling to VM-Enter, and in v8 you did just that[2]. In v9 I questioned
why the bits were being toggled in vmx_vcpu_run() and advised moving the
code to vmx_cpuid_update()[3], obviously forgetting that earlier versions
did the toggling in vmx_set_cr4().
AFAICT, I was only reacting to the immediate patch when I advised moving
the code to vmx_cpuid_update(), i.e. the recommendation to move the code
to vmx_set_cr4() doesn't contradict any previous feedback and thus doesn't
reintroduce a known bug.
[1] https://patchwork.kernel.org/patch/11163639/#22931561
[2] https://patchwork.kernel.org/patch/11222763/
[3] https://patchwork.kernel.org/patch/11310823/
next prev parent reply other threads:[~2020-04-27 17:56 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-26 8:18 [PATCH v11 0/9] Introduce support for guest CET feature Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 1/9] KVM: VMX: Introduce CET VMX fields and flags Yang Weijiang
2020-04-23 16:07 ` Sean Christopherson
2020-04-24 13:39 ` Yang Weijiang
2020-04-23 16:39 ` Sean Christopherson
2020-04-24 13:44 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 2/9] KVM: VMX: Set guest CET MSRs per KVM and host configuration Yang Weijiang
2020-04-23 16:27 ` Sean Christopherson
2020-04-24 14:07 ` Yang Weijiang
2020-04-24 14:55 ` Sean Christopherson
2020-04-25 9:14 ` Yang Weijiang
2020-04-25 13:26 ` Paolo Bonzini
2020-04-26 15:26 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 3/9] KVM: VMX: Set host/guest CET states for vmexit/vmentry Yang Weijiang
2020-04-01 2:23 ` kbuild test robot
2020-04-01 2:23 ` kbuild test robot
2020-04-23 17:17 ` Sean Christopherson
2020-04-24 14:35 ` Yang Weijiang
2020-04-24 14:49 ` Sean Christopherson
2020-04-25 9:20 ` Yang Weijiang
2020-04-27 17:04 ` Sean Christopherson
2020-04-27 17:56 ` Sean Christopherson [this message]
2020-03-26 8:18 ` [PATCH v11 4/9] KVM: VMX: Check CET dependencies on CR settings Yang Weijiang
2020-04-23 17:20 ` Sean Christopherson
2020-04-24 14:36 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 5/9] KVM: X86: Refresh CPUID once guest XSS MSR changes Yang Weijiang
2020-04-01 3:50 ` kbuild test robot
2020-04-01 3:50 ` kbuild test robot
2020-04-23 17:34 ` Sean Christopherson
2020-04-24 14:47 ` Yang Weijiang
2020-04-25 13:19 ` Paolo Bonzini
2020-04-26 15:01 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 6/9] KVM: X86: Load guest fpu state when access MSRs managed by XSAVES Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 7/9] KVM: X86: Add userspace access interface for CET MSRs Yang Weijiang
2020-03-28 7:40 ` kbuild test robot
2020-03-28 7:40 ` kbuild test robot
2020-04-01 4:54 ` kbuild test robot
2020-04-01 4:54 ` kbuild test robot
2020-04-23 18:14 ` Sean Christopherson
2020-04-24 15:02 ` Yang Weijiang
2020-04-24 15:10 ` Sean Christopherson
2020-04-25 9:28 ` Yang Weijiang
2020-04-25 15:31 ` Paolo Bonzini
2020-04-26 15:23 ` Yang Weijiang
2020-04-27 14:04 ` Paolo Bonzini
2020-04-28 13:41 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 8/9] KVM: VMX: Enable CET support for nested VM Yang Weijiang
2020-04-01 6:11 ` kbuild test robot
2020-04-01 6:11 ` kbuild test robot
2020-04-23 18:29 ` Sean Christopherson
2020-04-24 15:24 ` Yang Weijiang
2020-03-26 8:18 ` [PATCH v11 9/9] KVM: X86: Set CET feature bits for CPUID enumeration Yang Weijiang
2020-03-27 4:41 ` kbuild test robot
2020-03-27 4:41 ` kbuild test robot
2020-04-23 16:56 ` Sean Christopherson
2020-04-24 14:17 ` Yang Weijiang
2020-04-23 16:58 ` Sean Christopherson
2020-04-24 14:23 ` Yang Weijiang
2020-03-26 8:18 ` [kvm-unit-tests PATCH] x86: Add tests for user-mode CET Yang Weijiang
2020-04-23 15:51 ` [PATCH v11 0/9] Introduce support for guest CET feature Sean Christopherson
2020-04-24 13:31 ` Yang Weijiang
2020-04-23 16:03 ` Sean Christopherson
2020-04-24 13:34 ` Yang Weijiang
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=20200427175647.GK14870@linux.intel.com \
--to=sean.j.christopherson@intel.com \
--cc=jmattson@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=weijiang.yang@intel.com \
--cc=yu.c.zhang@linux.intel.com \
/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 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.