All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Kevin Tian" <kevin.tian@intel.com>,
	"Wei Liu" <wei.liu2@citrix.com>,
	"Jan Beulich" <JBeulich@suse.com>,
	Xen-devel <xen-devel@lists.xen.org>,
	"Paul Durrant" <paul.durrant@citrix.com>,
	"Jun Nakajima" <jun.nakajima@intel.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/msr: Fix fallout from mostly c/s 832c180
Date: Wed, 10 Apr 2019 11:23:59 +0100	[thread overview]
Message-ID: <20190410102359.GU30543@zion.uk.xensource.com> (raw)
In-Reply-To: <cc3e5baf-27cc-55fc-6fc3-2f5549a943b6@citrix.com>

On Wed, Apr 10, 2019 at 10:41:24AM +0100, Andrew Cooper wrote:
> On 10/04/2019 09:23, Wei Liu wrote:
> > On Tue, Apr 09, 2019 at 06:53:47PM +0100, Andrew Cooper wrote:
> >> The series 832c1803^..f61685a6 was committed without adequate review.
> >>
> >>  * Fix the shim build by providing a !CONFIG_HVM declaration for
> >>    hvm_get_guest_bndcfgs()
> >>  * Revert the bogus de-const'ing of the vcpu pointer in
> >>    vmx_get_guest_bndcfgs().  vmx_vmcs_enter() really does mutate the vcpu, and
> >>    may cause it to undergo a full de/reschedule, which is in violation of the
> >>    ABI described by hvm_get_guest_bndcfgs().  guest_rdmsr() was always going
> >>    to need to lose its const parameter, and this was the correct time for it
> >>    to happen.
> > Enlighten me -- why does guest_rdmsr need to lose its const parameter?
> >
> > This reads as if the code was buggy from the get-go.
> 
> It was originally written without a const vcpu *, in full knowledge that
> when moving onto some of the less trivial MSRs, it would need a mutable
> parameter.
> 
> Of course, this wasn't considered a good enough argument during review,
> and to avoid an argument, it went in with a const parameter.
> 
> The state of the MSRs may live in various memory structures, or directly
> in hardware (covers the two cases thus far), or in the VMCS/VMCB, (or
> worse, the MSR load/save lists).  This patch adds the first example of
> needing to access data straight from the VMCS, which involves
> negotiating with the scheduler for safe access.

Thanks for the explanation.

Wei.

> 
> ~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-04-10 10:23 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-09 17:53 [PATCH] x86/msr: Fix fallout from mostly c/s 832c180 Andrew Cooper
2019-04-10  8:23 ` Wei Liu
2019-04-10  9:41   ` Andrew Cooper
2019-04-10 10:23     ` Wei Liu [this message]
2019-04-10  8:28 ` Paul Durrant
2019-04-10  8:39   ` Paul Durrant
2019-04-11 18:28   ` Andrew Cooper
2019-04-10 10:24 ` Jan Beulich
2019-04-11 18:20   ` Andrew Cooper
2019-04-12 10:46     ` Jan Beulich
2019-04-12 11:00       ` Paul Durrant
2019-04-12 11:19         ` Jan Beulich
2019-04-12 13:52       ` Andrew Cooper
2019-04-12 14:57         ` Jan Beulich
2019-04-15  9:03 ` Wei Liu
2019-04-15  9:29   ` Juergen Gross

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=20190410102359.GU30543@zion.uk.xensource.com \
    --to=wei.liu2@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=jun.nakajima@intel.com \
    --cc=kevin.tian@intel.com \
    --cc=paul.durrant@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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.