All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tianyu Lan <ltykernel@gmail.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>,
	Tianyu Lan <Tianyu.Lan@microsoft.com>,
	kys@microsoft.com, haiyangz@microsoft.com,
	sthemmin@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	tglx@linutronix.de, mingo@redhat.com, x86@kernel.org,
	hpa@zytor.com, dave.hansen@linux.intel.com, luto@kernel.org,
	peterz@infradead.org, davem@davemloft.net, kuba@kernel.org,
	gregkh@linuxfoundation.org, arnd@arndb.de, jroedel@suse.de,
	brijesh.singh@amd.com, pgonda@google.com,
	akpm@linux-foundation.org, kirill.shutemov@linux.intel.com,
	rppt@kernel.org, tj@kernel.org, aneesh.kumar@linux.ibm.com,
	saravanand@fb.com, hannes@cmpxchg.org, rientjes@google.com,
	michael.h.kelley@microsoft.com, linux-arch@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, vkuznets@redhat.com,
	konrad.wilk@oracle.com, hch@lst.de, robin.murphy@arm.com,
	joro@8bytes.org, parri.andrea@gmail.com, dave.hansen@intel.com
Subject: Re: [PATCH] x86/sev-es: Expose __sev_es_ghcb_hv_call() to call ghcb hv call out of sev code
Date: Wed, 20 Oct 2021 23:09:03 +0800	[thread overview]
Message-ID: <7bab8b73-e276-c23c-7a0a-2a6280e8a7d9@gmail.com> (raw)
In-Reply-To: <YXAqBOGdK91ieVIT@zn.tnic>

On 10/20/2021 10:39 PM, Borislav Petkov wrote:
> On Wed, Oct 20, 2021 at 10:23:06PM +0800, Tianyu Lan wrote:
>> This follows Joreg's previous comment and I implemented similar version in
>> the V! patchset([PATCH 05/13] HV: Add Write/Read MSR registers via ghcb page
>> https://lkml.org/lkml/2021/7/28/668).
>> "Instead, factor out a helper function which contains what Hyper-V needs and
>> use that in sev_es_ghcb_hv_call() and Hyper-V code."
>>
>> https://lkml.org/lkml/2021/8/2/375
> 
> If you wanna point to mails on a mailing list, you simply do
> 
> https://lore.kernel.org/r/<Message-id>
> 
> No need to use some random, unreliable web pages.

OK. Thanks for suggestion.

> 
> As to Joerg's suggestion, in the version I'm seeing, you're checking the
> *context* - and the one you sent today, avoids the __pa(ghcb) MSR write.
> 
> So which is it?
> 
> Because your current version will look at the context too, see
> 
> 	return verify_exception_info(ghcb, ctxt);
> 
> at the end of the function.
Both old and new patches are to avoid setting GHCB page address via MSR.
Paravisor is in charge of doing that and un-enlightened guest should not 
change it. The old one was in the patchset v1 "x86/Hyper-V: Add Hyper-V
Isolation VM support". The patch I sent today is based on your clean up 
patch and for review first. It should be in patchset "x86/Hyper-V: Add 
Hyper-V Isolation VM support."

> 
> So is the issue what Tom said that "the paravisor uses the same GHCB MSR
> and GHCB protocol, it just can't use __pa() to get the address of the
> GHCB."?

Yes, hyper-V enables vTOM in the CVM and GHCB page PA reported by 
paravisor contains vTOM bit. We need to use memremap() to map ghcb page 
before accessing GHCB page. __pa() doesn't work for PA with vTOM bit.
Otherwise, guest should not set GHCB page address and avoid conflict 
with paravisor.

> 
> If that is the case and the only thing you want is to avoid the GHCB PA
> write, then, in the future, we might drop that MSR write altogether on
> the enlightened Linux guests too and then the same function will be used
> by your paravisor and the Linux guest.

Yes, this is the target of the patch. Can we put the change in the 
Hyper-V patchset? Other patch has been fully reviewed.

Thanks.

  reply	other threads:[~2021-10-20 15:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06  6:36 [PATCH V7 0/9] x86/Hyper-V: Add Hyper-V Isolation VM support(First part) Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 1/9] x86/hyperv: Initialize GHCB page in Isolation VM Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 2/9] x86/hyperv: Initialize shared memory boundary in the " Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 3/9] x86/hyperv: Add new hvcall guest address host visibility support Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 4/9] Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 5/9] x86/sev-es: Expose __sev_es_ghcb_hv_call() to call ghcb hv call out of sev code Tianyu Lan
2021-10-11 14:42   ` Tianyu Lan
2021-10-11 17:22     ` Borislav Petkov
2021-10-12 14:13       ` Tianyu Lan
2021-10-13 14:24       ` Tianyu Lan
2021-10-18 12:19         ` Tianyu Lan
2021-10-19 13:57           ` Borislav Petkov
2021-10-20  6:23           ` [PATCH] " Tianyu Lan
2021-10-20  9:59             ` Borislav Petkov
2021-10-20 12:39               ` Tianyu Lan
2021-10-20 13:39                 ` Borislav Petkov
2021-10-20 13:56                   ` Tom Lendacky
2021-10-20 14:23                     ` Tianyu Lan
2021-10-20 14:39                       ` Borislav Petkov
2021-10-20 15:09                         ` Tianyu Lan [this message]
2021-10-20 16:24                           ` Borislav Petkov
2021-10-21 15:42                             ` Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 6/9] x86/hyperv: Add Write/Read MSR registers via ghcb page Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 7/9] x86/hyperv: Add ghcb hvcall support for SNP VM Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 8/9] Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message Tianyu Lan
2021-10-06  6:36 ` [PATCH V7 9/9] Drivers: hv : vmbus: Initialize VMbus ring buffer for Isolation VM Tianyu Lan

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=7bab8b73-e276-c23c-7a0a-2a6280e8a7d9@gmail.com \
    --to=ltykernel@gmail.com \
    --cc=Tianyu.Lan@microsoft.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=brijesh.singh@amd.com \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=decui@microsoft.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=haiyangz@microsoft.com \
    --cc=hannes@cmpxchg.org \
    --cc=hch@lst.de \
    --cc=hpa@zytor.com \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kuba@kernel.org \
    --cc=kys@microsoft.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=michael.h.kelley@microsoft.com \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=parri.andrea@gmail.com \
    --cc=peterz@infradead.org \
    --cc=pgonda@google.com \
    --cc=rientjes@google.com \
    --cc=robin.murphy@arm.com \
    --cc=rppt@kernel.org \
    --cc=saravanand@fb.com \
    --cc=sthemmin@microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=tj@kernel.org \
    --cc=vkuznets@redhat.com \
    --cc=wei.liu@kernel.org \
    --cc=x86@kernel.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.