All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: Ashish Kalra <Ashish.Kalra@amd.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, linux-coco@lists.linux.dev,
	linux-mm@kvack.org, linux-crypto@vger.kernel.org,
	tglx@linutronix.de, mingo@redhat.com, jroedel@suse.de,
	thomas.lendacky@amd.com, hpa@zytor.com, ardb@kernel.org,
	pbonzini@redhat.com, seanjc@google.com, vkuznets@redhat.com,
	jmattson@google.com, luto@kernel.org,
	dave.hansen@linux.intel.com, slp@redhat.com, pgonda@google.com,
	peterz@infradead.org, srinivas.pandruvada@linux.intel.com,
	rientjes@google.com, dovmurik@linux.ibm.com, tobin@ibm.com,
	bp@alien8.de, michael.roth@amd.com, vbabka@suse.cz,
	kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com,
	marcorr@google.com, sathyanarayanan.kuppuswamy@linux.intel.com,
	alpergun@google.com, dgilbert@redhat.com
Subject: Re: [PATCH Part2 v6 24/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_START command
Date: Tue, 2 Aug 2022 16:19:49 +0300	[thread overview]
Message-ID: <YukkdQJS4K+V2Nkn@kernel.org> (raw)
In-Reply-To: <6d5c899030b113755e6c093e8bb9ad123280edc6.1655761627.git.ashish.kalra@amd.com>

On Mon, Jun 20, 2022 at 11:07:35PM +0000, Ashish Kalra wrote:
> From: Brijesh Singh <brijesh.singh@amd.com>
> 
> KVM_SEV_SNP_LAUNCH_START begins the launch process for an SEV-SNP guest.
> The command initializes a cryptographic digest context used to construct
> the measurement of the guest. If the guest is expected to be migrated,
> the command also binds a migration agent (MA) to the guest.
> 
> For more information see the SEV-SNP specification.
> 
> Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
> ---
>  .../virt/kvm/x86/amd-memory-encryption.rst    |  24 ++++
>  arch/x86/kvm/svm/sev.c                        | 115 +++++++++++++++++-
>  arch/x86/kvm/svm/svm.h                        |   1 +
>  include/uapi/linux/kvm.h                      |  10 ++
>  4 files changed, 147 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/virt/kvm/x86/amd-memory-encryption.rst b/Documentation/virt/kvm/x86/amd-memory-encryption.rst
> index 903023f524af..878711f2dca6 100644
> --- a/Documentation/virt/kvm/x86/amd-memory-encryption.rst
> +++ b/Documentation/virt/kvm/x86/amd-memory-encryption.rst
> @@ -462,6 +462,30 @@ The flags bitmap is defined as::
>  If the specified flags is not supported then return -EOPNOTSUPP, and the supported
>  flags are returned.
>  
> +19. KVM_SNP_LAUNCH_START
> +------------------------
> +
> +The KVM_SNP_LAUNCH_START command is used for creating the memory encryption
> +context for the SEV-SNP guest. To create the encryption context, user must
> +provide a guest policy, migration agent (if any) and guest OS visible
> +workarounds value as defined SEV-SNP specification.
> +
> +Parameters (in): struct  kvm_snp_launch_start
> +
> +Returns: 0 on success, -negative on error
> +
> +::
> +
> +        struct kvm_sev_snp_launch_start {
> +                __u64 policy;           /* Guest policy to use. */
> +                __u64 ma_uaddr;         /* userspace address of migration agent */
> +                __u8 ma_en;             /* 1 if the migtation agent is enabled */
> +                __u8 imi_en;            /* set IMI to 1. */
> +                __u8 gosvw[16];         /* guest OS visible workarounds */
> +        };
> +
> +See the SEV-SNP specification for further detail on the launch input.
> +
>  References
>  ==========
>  
> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
> index 813bda7f7b55..9e6fc7a94ed7 100644
> --- a/arch/x86/kvm/svm/sev.c
> +++ b/arch/x86/kvm/svm/sev.c
> @@ -21,6 +21,7 @@
>  #include <asm/pkru.h>
>  #include <asm/trapnr.h>
>  #include <asm/fpu/xcr.h>
> +#include <asm/sev.h>
>  
>  #include "x86.h"
>  #include "svm.h"
> @@ -73,6 +74,8 @@ static unsigned int nr_asids;
>  static unsigned long *sev_asid_bitmap;
>  static unsigned long *sev_reclaim_asid_bitmap;
>  
> +static int snp_decommission_context(struct kvm *kvm);
> +
>  struct enc_region {
>  	struct list_head list;
>  	unsigned long npages;
> @@ -98,12 +101,17 @@ static int sev_flush_asids(int min_asid, int max_asid)
>  	down_write(&sev_deactivate_lock);
>  
>  	wbinvd_on_all_cpus();
> -	ret = sev_guest_df_flush(&error);
> +
> +	if (sev_snp_enabled)
> +		ret = snp_guest_df_flush(&error);
> +	else
> +		ret = sev_guest_df_flush(&error);
>  
>  	up_write(&sev_deactivate_lock);
>  
>  	if (ret)
> -		pr_err("SEV: DF_FLUSH failed, ret=%d, error=%#x\n", ret, error);
> +		pr_err("SEV%s: DF_FLUSH failed, ret=%d, error=%#x\n",
> +			sev_snp_enabled ? "-SNP" : "", ret, error);
>  
>  	return ret;
>  }
> @@ -1825,6 +1833,74 @@ int sev_vm_move_enc_context_from(struct kvm *kvm, unsigned int source_fd)
>  	return ret;
>  }
>  
> +static void *snp_context_create(struct kvm *kvm, struct kvm_sev_cmd *argp)
> +{
> +	struct sev_data_snp_gctx_create data = {};
> +	void *context;
> +	int rc;
> +
> +	/* Allocate memory for context page */

Nit: this comment has very little value, if any. It's just stating
the obvious.

Instead, I'd add a description for the function:

/*
 * Allocate and initialize a digest for the guest measurement.
 */
static void *snp_context_create(struct kvm *kvm, struct kvm_sev_cmd *argp)

This would be much more helpful to get a grasp on "what I'm looking at".

> +	context = snp_alloc_firmware_page(GFP_KERNEL_ACCOUNT);
> +	if (!context)
> +		return NULL;
> +
> +	data.gctx_paddr = __psp_pa(context);
> +	rc = __sev_issue_cmd(argp->sev_fd, SEV_CMD_SNP_GCTX_CREATE, &data, &argp->error);
> +	if (rc) {
> +		snp_free_firmware_page(context);
> +		return NULL;
> +	}
> +
> +	return context;
> +}
> +
> +static int snp_bind_asid(struct kvm *kvm, int *error)
> +{
> +	struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
> +	struct sev_data_snp_activate data = {0};
> +
> +	data.gctx_paddr = __psp_pa(sev->snp_context);
> +	data.asid   = sev_get_asid(kvm);
> +	return sev_issue_cmd(kvm, SEV_CMD_SNP_ACTIVATE, &data, error);
> +}
> +
> +static int snp_launch_start(struct kvm *kvm, struct kvm_sev_cmd *argp)
> +{
> +	struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
> +	struct sev_data_snp_launch_start start = {0};
> +	struct kvm_sev_snp_launch_start params;
> +	int rc;
> +
> +	if (!sev_snp_guest(kvm))
> +		return -ENOTTY;
> +
> +	if (copy_from_user(&params, (void __user *)(uintptr_t)argp->data, sizeof(params)))
> +		return -EFAULT;
> +
> +	sev->snp_context = snp_context_create(kvm, argp);
> +	if (!sev->snp_context)
> +		return -ENOTTY;
> +
> +	start.gctx_paddr = __psp_pa(sev->snp_context);
> +	start.policy = params.policy;
> +	memcpy(start.gosvw, params.gosvw, sizeof(params.gosvw));
> +	rc = __sev_issue_cmd(argp->sev_fd, SEV_CMD_SNP_LAUNCH_START, &start, &argp->error);
> +	if (rc)
> +		goto e_free_context;
> +
> +	sev->fd = argp->sev_fd;
> +	rc = snp_bind_asid(kvm, &argp->error);
> +	if (rc)
> +		goto e_free_context;
> +
> +	return 0;
> +
> +e_free_context:
> +	snp_decommission_context(kvm);
> +
> +	return rc;
> +}
> +
>  int sev_mem_enc_ioctl(struct kvm *kvm, void __user *argp)
>  {
>  	struct kvm_sev_cmd sev_cmd;
> @@ -1915,6 +1991,9 @@ int sev_mem_enc_ioctl(struct kvm *kvm, void __user *argp)
>  	case KVM_SEV_RECEIVE_FINISH:
>  		r = sev_receive_finish(kvm, &sev_cmd);
>  		break;
> +	case KVM_SEV_SNP_LAUNCH_START:
> +		r = snp_launch_start(kvm, &sev_cmd);
> +		break;
>  	default:
>  		r = -EINVAL;
>  		goto out;
> @@ -2106,6 +2185,28 @@ int sev_vm_copy_enc_context_from(struct kvm *kvm, unsigned int source_fd)
>  	return ret;
>  }
>  
> +static int snp_decommission_context(struct kvm *kvm)
> +{
> +	struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
> +	struct sev_data_snp_decommission data = {};
> +	int ret;
> +
> +	/* If context is not created then do nothing */
> +	if (!sev->snp_context)
> +		return 0;
> +
> +	data.gctx_paddr = __sme_pa(sev->snp_context);
> +	ret = snp_guest_decommission(&data, NULL);
> +	if (WARN_ONCE(ret, "failed to release guest context"))
> +		return ret;
> +
> +	/* free the context page now */
> +	snp_free_firmware_page(sev->snp_context);
> +	sev->snp_context = NULL;
> +
> +	return 0;
> +}
> +
>  void sev_vm_destroy(struct kvm *kvm)
>  {
>  	struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
> @@ -2147,7 +2248,15 @@ void sev_vm_destroy(struct kvm *kvm)
>  		}
>  	}
>  
> -	sev_unbind_asid(kvm, sev->handle);
> +	if (sev_snp_guest(kvm)) {
> +		if (snp_decommission_context(kvm)) {
> +			WARN_ONCE(1, "Failed to free SNP guest context, leaking asid!\n");
> +			return;
> +		}
> +	} else {
> +		sev_unbind_asid(kvm, sev->handle);
> +	}
> +
>  	sev_asid_free(sev);
>  }
>  
> diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h
> index 2f45589ee596..71c011af098e 100644
> --- a/arch/x86/kvm/svm/svm.h
> +++ b/arch/x86/kvm/svm/svm.h
> @@ -91,6 +91,7 @@ struct kvm_sev_info {
>  	struct misc_cg *misc_cg; /* For misc cgroup accounting */
>  	atomic_t migration_in_progress;
>  	u64 snp_init_flags;
> +	void *snp_context;      /* SNP guest context page */
>  };
>  
>  struct kvm_svm {
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index 0f912cefc544..0cb119d66ae5 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -1812,6 +1812,7 @@ enum sev_cmd_id {
>  
>  	/* SNP specific commands */
>  	KVM_SEV_SNP_INIT,
> +	KVM_SEV_SNP_LAUNCH_START,
>  
>  	KVM_SEV_NR_MAX,
>  };
> @@ -1919,6 +1920,15 @@ struct kvm_snp_init {
>  	__u64 flags;
>  };
>  
> +struct kvm_sev_snp_launch_start {
> +	__u64 policy;
> +	__u64 ma_uaddr;
> +	__u8 ma_en;
> +	__u8 imi_en;
> +	__u8 gosvw[16];
> +	__u8 pad[6];
> +};
> +
>  #define KVM_DEV_ASSIGN_ENABLE_IOMMU	(1 << 0)
>  #define KVM_DEV_ASSIGN_PCI_2_3		(1 << 1)
>  #define KVM_DEV_ASSIGN_MASK_INTX	(1 << 2)
> -- 
> 2.25.1
> 

BR, Jarkko

  parent reply	other threads:[~2022-08-02 13:19 UTC|newest]

Thread overview: 306+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20 22:56 [PATCH Part2 v6 00/49] Add AMD Secure Nested Paging (SEV-SNP) Ashish Kalra
2022-06-20 22:59 ` [PATCH Part2 v6 01/49] x86/cpufeatures: Add SEV-SNP CPU feature Ashish Kalra
2022-06-21  8:58   ` Borislav Petkov
2022-06-20 22:59 ` [PATCH Part2 v6 02/49] iommu/amd: Introduce function to check SEV-SNP support Ashish Kalra
2022-06-21 15:28   ` Peter Gonda
2022-06-21 17:45     ` Kalra, Ashish
2022-06-21 17:50       ` Peter Gonda
2022-06-22  7:33         ` Suthikulpanit, Suravee
2022-08-25  1:28         ` jarkko
2022-08-25  1:30           ` Jarkko Sakkinen
2022-08-26 18:54             ` Kalra, Ashish
2022-08-28  4:18               ` Jarkko Sakkinen
2022-07-01 10:42   ` Borislav Petkov
2022-07-05 13:56     ` Kalra, Ashish
2022-07-05 14:33       ` Borislav Petkov
2022-07-05 14:53         ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 03/49] x86/sev: Add the host SEV-SNP initialization support Ashish Kalra
2022-06-21 15:47   ` Peter Gonda
2022-06-21 17:59     ` Kalra, Ashish
2022-06-23 20:48   ` Marc Orr
2022-06-23 22:22     ` Kalra, Ashish
2022-07-17 10:01   ` Borislav Petkov
2022-07-19  3:56     ` Kalra, Ashish
2022-07-19  8:38       ` Borislav Petkov
2022-07-19 11:34         ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 04/49] x86/sev: set SYSCFG.MFMD Ashish Kalra
2022-06-23 21:00   ` Marc Orr
2022-07-21 11:29   ` Borislav Petkov
2022-08-01 21:16     ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 05/49] x86/sev: Add RMP entry lookup helpers Ashish Kalra
2022-06-22 14:13   ` Dave Hansen
2022-06-22 14:22     ` Kalra, Ashish
2022-06-22 14:29       ` Dave Hansen
2022-06-22 18:15         ` Kalra, Ashish
2022-06-22 18:17           ` Dave Hansen
2022-06-22 18:34             ` Kalra, Ashish
2022-06-22 18:42               ` Dave Hansen
2022-06-22 18:50                 ` Kalra, Ashish
2022-06-22 19:43                 ` Kalra, Ashish
2022-06-22 19:49                   ` Dave Hansen
2022-06-22 20:15                     ` Kalra, Ashish
2022-06-22 20:58                       ` Kalra, Ashish
2022-06-23 22:36                       ` Sean Christopherson
2022-06-23 22:43                         ` Kalra, Ashish
2022-07-22 11:35                           ` Borislav Petkov
2022-07-22 19:04                             ` Sean Christopherson
2022-07-22 19:25                               ` Borislav Petkov
2022-07-22 19:38                                 ` Borislav Petkov
2022-08-01 21:53                                   ` Kalra, Ashish
2022-07-22 22:16                                 ` Sean Christopherson
2022-07-22 22:25                                   ` Borislav Petkov
2022-08-01 21:50                                 ` Kalra, Ashish
2022-06-23 21:30   ` Marc Orr
2022-07-22 11:43   ` Borislav Petkov
2022-08-01 21:45     ` Kalra, Ashish
2022-07-25 14:32   ` Borislav Petkov
2022-08-01 22:04     ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 06/49] x86/sev: Add helper functions for RMPUPDATE and PSMASH instruction Ashish Kalra
2022-06-21 16:40   ` Dr. David Alan Gilbert
2022-06-21 17:38     ` Kalra, Ashish
2022-06-22 18:17       ` Kalra, Ashish
2022-06-28 10:50         ` Dr. David Alan Gilbert
2022-06-28 17:57           ` Kalra, Ashish
2022-06-28 18:58             ` Dr. David Alan Gilbert
2022-06-28 19:03             ` Dave Hansen
2022-07-25 13:24             ` Borislav Petkov
2022-08-01 23:32               ` Kalra, Ashish
2022-08-02 14:14                 ` Borislav Petkov
2022-06-22 14:26   ` Dave Hansen
2022-06-22 18:04     ` Kalra, Ashish
2022-07-24 17:31   ` Dov Murik
2022-08-02  4:49     ` Kalra, Ashish
2022-07-25 14:36   ` Borislav Petkov
2022-08-01 22:31     ` Kalra, Ashish
2022-08-03 20:26       ` Borislav Petkov
2022-06-20 23:03 ` [PATCH Part2 v6 07/49] x86/sev: Invalid pages from direct map when adding it to RMP table Ashish Kalra
2022-06-24  0:06   ` Marc Orr
2022-07-27 17:01   ` Borislav Petkov
2022-08-01 23:57     ` Kalra, Ashish
2022-08-04 12:11       ` Borislav Petkov
2022-11-02  3:12         ` Kalra, Ashish
2022-11-02 11:27           ` Borislav Petkov
2022-12-19 15:00     ` Michael Roth
2022-12-19 20:08       ` Borislav Petkov
2022-12-27 21:49         ` Kalra, Ashish
2022-12-29 17:09           ` Borislav Petkov
2023-01-05 21:46             ` Kalra, Ashish
2023-01-05 22:08           ` Marc Orr
2023-01-05 22:27             ` Kalra, Ashish
2023-01-05 22:31               ` Marc Orr
2022-12-30 15:19         ` Mike Rapoport
2022-06-20 23:03 ` [PATCH Part2 v6 08/49] x86/traps: Define RMP violation #PF error code Ashish Kalra
2022-08-08 13:13   ` Borislav Petkov
2022-06-20 23:03 ` [PATCH Part2 v6 09/49] x86/fault: Add support to handle the RMP fault for user address Ashish Kalra
2022-06-22 14:29   ` Jeremi Piotrowski
2022-07-12 11:57   ` Jarkko Sakkinen
2022-07-12 14:29     ` Kalra, Ashish
2022-07-12 14:54       ` Jarkko Sakkinen
2022-08-09 16:55   ` Borislav Petkov
2022-08-10  3:59     ` Kalra, Ashish
2022-08-10  9:42       ` Borislav Petkov
2022-08-10 22:00         ` Kalra, Ashish
2022-08-11 14:27           ` Borislav Petkov
2022-09-01 20:32           ` Kalra, Ashish
2022-09-02  6:52             ` Borislav Petkov
2022-09-02 15:33               ` Kalra, Ashish
2022-09-03  4:25                 ` Borislav Petkov
2022-09-03  5:51                   ` Kalra, Ashish
2022-09-03  6:57                     ` Kalra, Ashish
2022-09-03  8:31                       ` Boris Petkov
2022-09-03 17:30                         ` Kalra, Ashish
2022-09-04  6:37                           ` Borislav Petkov
2022-09-06 14:06                             ` Kalra, Ashish
2022-09-06 10:25     ` Jarkko Sakkinen
2022-09-06 10:33       ` Jarkko Sakkinen
2022-09-06 13:54       ` Marc Orr
2022-09-06 14:17         ` Kalra, Ashish
2022-09-06 15:06           ` Michael Roth
2022-09-06 16:39             ` Kalra, Ashish
2022-09-07  5:14               ` Marc Orr
2022-09-06 15:44           ` Jarkko Sakkinen
2022-09-08  7:46             ` Jarkko Sakkinen
2022-09-08  7:57               ` Jarkko Sakkinen
2022-08-11 15:15   ` vbabka
2022-09-06  2:30   ` Dave Hansen
2022-06-20 23:03 ` [PATCH Part2 v6 10/49] x86/fault: Add support to dump RMP entry on fault Ashish Kalra
2022-06-22 14:33   ` Jeremi Piotrowski
2022-06-22 14:42     ` Jeremi Piotrowski
2022-06-22 18:08       ` Kalra, Ashish
2022-08-23 13:21   ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 11/49] crypto:ccp: Define the SEV-SNP commands Ashish Kalra
2022-09-20 13:03   ` Borislav Petkov
2022-09-20 13:46     ` Kalra, Ashish
2022-09-20 14:04       ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 12/49] crypto: ccp: Add support to initialize the AMD-SP for SEV-SNP Ashish Kalra
2022-10-01 17:33   ` Borislav Petkov
2022-10-14 21:09     ` Kalra, Ashish
2022-10-14 21:31       ` Kalra, Ashish
2022-10-25  8:56         ` Borislav Petkov
2022-10-19 18:48       ` Kalra, Ashish
2022-10-23 21:17         ` Jarkko Sakkinen
2022-10-25  9:07         ` Borislav Petkov
2022-10-25  8:30       ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 13/49] crypto:ccp: Provide APIs to issue SEV-SNP commands Ashish Kalra
2022-06-21 21:43   ` Peter Gonda
2022-06-22  1:44     ` Kalra, Ashish
2022-08-02 10:52     ` Jarkko Sakkinen
2022-10-01 20:17   ` Borislav Petkov
2022-10-03 14:38     ` Kalra, Ashish
2022-10-03 16:16       ` Borislav Petkov
2022-10-03 17:11         ` Kalra, Ashish
2022-10-03 17:45           ` Borislav Petkov
2022-10-03 18:01             ` Peter Gonda
2022-10-03 18:16               ` Borislav Petkov
2022-10-03 18:43                 ` Kalra, Ashish
2022-10-03 18:53                   ` Borislav Petkov
2022-06-20 23:05 ` [PATCH Part2 v6 14/49] crypto: ccp: Handle the legacy TMR allocation when SNP is enabled Ashish Kalra
2022-06-21 18:11   ` Peter Gonda
2022-06-21 20:17     ` Kalra, Ashish
2022-06-24 14:19       ` Peter Gonda
2022-08-02 12:17       ` jarkko
2022-08-02 11:17   ` Jarkko Sakkinen
2022-10-13 15:15   ` Borislav Petkov
2022-10-14 20:00     ` Kalra, Ashish
2022-10-25 10:25       ` Borislav Petkov
2022-10-31 20:10         ` Kalra, Ashish
2022-10-31 21:15           ` Borislav Petkov
2022-10-31 21:58             ` Kalra, Ashish
2022-11-02 11:22               ` Borislav Petkov
2022-11-14 23:36                 ` Kalra, Ashish
2022-11-15 14:26                   ` Borislav Petkov
2022-11-15 15:14                   ` Vlastimil Babka
2022-11-15 15:22                     ` Borislav Petkov
2022-11-15 16:27                       ` Borislav Petkov
2022-11-15 22:44                         ` Kalra, Ashish
2022-11-15 17:24                     ` Kalra, Ashish
2022-11-15 18:15                       ` Kalra, Ashish
2022-11-16  9:08                         ` Vlastimil Babka
2022-11-16 10:19                           ` Kalra, Ashish
2022-11-16 10:25                             ` Vlastimil Babka
2022-11-16 18:01                               ` Kalra, Ashish
2022-11-16 18:33                                 ` Borislav Petkov
2022-11-16 18:53                                   ` Kalra, Ashish
2022-11-16 19:09                                     ` Borislav Petkov
2022-11-16 19:23                                       ` Kalra, Ashish
2022-11-16 18:32                               ` Dave Hansen
2022-11-16  5:19                     ` HORIGUCHI NAOYA(堀口 直也)
2022-11-16 10:28                       ` Kalra, Ashish
2022-11-16 23:41                         ` HORIGUCHI NAOYA(堀口 直也)
2022-11-17 20:56       ` Kalra, Ashish
2022-11-20 21:34         ` Borislav Petkov
2022-11-22  0:37           ` Kalra, Ashish
2022-11-22 10:17             ` Borislav Petkov
2022-11-22 10:32               ` Kalra, Ashish
2022-11-22 10:44                 ` Borislav Petkov
2022-11-22 11:44                   ` Kalra, Ashish
2022-11-23 11:40                     ` Borislav Petkov
2022-11-23 18:32                       ` Kalra, Ashish
2022-06-20 23:05 ` [PATCH Part2 v6 15/49] crypto: ccp: Handle the legacy SEV command " Ashish Kalra
2022-06-20 23:05 ` [PATCH Part2 v6 16/49] crypto: ccp: Add the SNP_PLATFORM_STATUS command Ashish Kalra
2022-06-20 23:05 ` [PATCH Part2 v6 17/49] crypto: ccp: Add the SNP_{SET,GET}_EXT_CONFIG command Ashish Kalra
2022-06-21 22:13   ` Peter Gonda
2022-06-22  1:58     ` Kalra, Ashish
2022-08-02 12:31   ` Jarkko Sakkinen
2022-08-08 19:27     ` Dionna Amalie Glaze
2022-08-08 21:32       ` Tom Lendacky
2022-08-08 23:25         ` Dionna Amalie Glaze
2022-06-20 23:06 ` [PATCH Part2 v6 18/49] crypto: ccp: Provide APIs to query extended attestation report Ashish Kalra
2022-06-21 22:30   ` Peter Gonda
2022-08-02 12:39   ` Jarkko Sakkinen
2022-06-20 23:06 ` [PATCH Part2 v6 19/49] KVM: SVM: Add support to handle AP reset MSR protocol Ashish Kalra
2022-06-20 23:06 ` [PATCH Part2 v6 20/49] KVM: SVM: Provide the Hypervisor Feature support VMGEXIT Ashish Kalra
2022-06-20 23:06 ` [PATCH Part2 v6 21/49] KVM: SVM: Make AVIC backing, VMSA and VMCB memory allocation SNP safe Ashish Kalra
2022-08-04 11:32   ` Vlastimil Babka
2022-06-20 23:07 ` [PATCH Part2 v6 22/49] KVM: SVM: Add initial SEV-SNP support Ashish Kalra
2022-06-20 23:07 ` [PATCH Part2 v6 23/49] KVM: SVM: Add KVM_SNP_INIT command Ashish Kalra
2022-06-20 23:07 ` [PATCH Part2 v6 24/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_START command Ashish Kalra
2022-06-24 14:42   ` Peter Gonda
2022-06-24 18:17     ` Kalra, Ashish
2022-08-02 13:19   ` Jarkko Sakkinen [this message]
2022-06-20 23:07 ` [PATCH Part2 v6 25/49] KVM: SVM: Disallow registering memory range from HugeTLB for SNP guest Ashish Kalra
2022-08-04 13:37   ` Vlastimil Babka
2022-06-20 23:08 ` [PATCH Part2 v6 26/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_UPDATE command Ashish Kalra
2022-06-24 14:33   ` Peter Gonda
2022-06-29 18:14     ` Kalra, Ashish
2022-08-02 12:50   ` Jarkko Sakkinen
2022-08-09 13:55   ` Sabin Rapan
2022-08-15 23:04     ` Kalra, Ashish
2022-06-20 23:08 ` [PATCH Part2 v6 27/49] KVM: SVM: Mark the private vma unmerable for SEV-SNP guests Ashish Kalra
2022-06-22 10:29   ` Dr. David Alan Gilbert
2022-08-04 10:56   ` Vlastimil Babka
2022-06-20 23:08 ` [PATCH Part2 v6 28/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_FINISH command Ashish Kalra
2022-07-11 14:05   ` Peter Gonda
2022-07-11 22:41     ` Kalra, Ashish
2022-07-12 14:45       ` Peter Gonda
2022-07-12 15:22         ` Kalra, Ashish
2022-07-12 16:04           ` Peter Gonda
2022-07-12 17:40         ` Tom Lendacky
2022-07-13 14:59           ` Peter Gonda
2022-08-02 13:28   ` Jarkko Sakkinen
2022-09-08 14:55   ` [[PATCH for v6]] KVM: SEV: fix snp_launch_finish Harald Hoyer
2022-09-08 15:11     ` Sean Christopherson
2022-09-08 20:34       ` Jarkko Sakkinen
2022-09-09  8:04   ` [PATCH Part2 v6 28/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_FINISH command Harald Hoyer
2022-06-20 23:08 ` [PATCH Part2 v6 29/49] KVM: X86: Keep the NPT and RMP page level in sync Ashish Kalra
2022-07-12 16:44   ` Jarkko Sakkinen
2022-06-20 23:09 ` [PATCH Part2 v6 30/49] KVM: x86/mmu: Introduce kvm_mmu_map_tdp_page() for use by TDX and SNP Ashish Kalra
2022-06-20 23:09 ` [PATCH Part2 v6 31/49] KVM: x86: Introduce kvm_mmu_get_tdp_walk() for SEV-SNP use Ashish Kalra
2022-09-07 17:45   ` Alper Gun
2022-06-20 23:09 ` [PATCH Part2 v6 32/49] KVM: x86: Define RMP page fault error bits for #NPF Ashish Kalra
2022-06-20 23:10 ` [PATCH Part2 v6 33/49] KVM: x86: Update page-fault trace to log full 64-bit error code Ashish Kalra
2022-07-25 11:19   ` Vlastimil Babka
2022-06-20 23:10 ` [PATCH Part2 v6 34/49] KVM: SVM: Do not use long-lived GHCB map while setting scratch area Ashish Kalra
2022-06-20 23:10 ` [PATCH Part2 v6 35/49] KVM: SVM: Remove the long-lived GHCB host map Ashish Kalra
2022-06-24 15:12   ` Peter Gonda
2022-06-24 20:14     ` Kalra, Ashish
2022-07-07 20:06       ` Peter Gonda
2022-07-07 20:31         ` Kalra, Ashish
2022-07-08 15:54           ` Peter Gonda
2022-07-08 15:59             ` Kalra, Ashish
2022-06-20 23:11 ` [PATCH Part2 v6 36/49] KVM: SVM: Add support to handle GHCB GPA register VMGEXIT Ashish Kalra
2022-06-28 13:28   ` Dr. David Alan Gilbert
2022-06-20 23:11 ` [PATCH Part2 v6 37/49] KVM: SVM: Add support to handle MSR based Page State Change VMGEXIT Ashish Kalra
2022-08-19 16:54   ` Peter Gonda
2022-09-19 17:53     ` Alper Gun
2022-09-19 21:38       ` Tom Lendacky
2022-09-19 22:02         ` Alper Gun
2022-09-19 22:18           ` Tom Lendacky
2022-09-19 23:46             ` Ashish Kalra
2022-09-26 15:19               ` Peter Gonda
2022-10-12 20:15                 ` Kalra, Ashish
2022-10-12 22:57                   ` Michael Roth
2022-06-20 23:11 ` [PATCH Part2 v6 38/49] KVM: SVM: Add support to handle " Ashish Kalra
2022-06-20 23:12 ` [PATCH Part2 v6 39/49] KVM: SVM: Introduce ops for the post gfn map and unmap Ashish Kalra
2022-08-18  3:47   ` Alper Gun
2022-11-17 20:18     ` Peter Gonda
2022-11-17 20:28       ` Kalra, Ashish
2022-11-17 21:36       ` Kalra, Ashish
2022-06-20 23:12 ` [PATCH Part2 v6 40/49] KVM: x86: Export the kvm_zap_gfn_range() for the SNP use Ashish Kalra
2022-06-20 23:13 ` [PATCH Part2 v6 41/49] KVM: SVM: Add support to handle the RMP nested page fault Ashish Kalra
2022-07-12 12:33   ` Jarkko Sakkinen
2022-07-12 12:45     ` Jarkko Sakkinen
2022-07-12 12:48       ` Jarkko Sakkinen
2022-07-12 15:32         ` Kalra, Ashish
2022-10-10 22:03   ` Alper Gun
2022-10-11  2:32     ` Kalra, Ashish
2022-10-12 22:53       ` Alper Gun
2022-10-13 15:00         ` Kalra, Ashish
2022-06-20 23:13 ` [PATCH Part2 v6 42/49] KVM: SVM: Provide support for SNP_GUEST_REQUEST NAE event Ashish Kalra
2022-06-24 16:25   ` Peter Gonda
2022-06-27 19:03     ` Kalra, Ashish
2022-06-29 19:15       ` Kalra, Ashish
2022-07-08 15:28         ` Peter Gonda
2022-10-21 19:06   ` Tom Lendacky
2022-10-21 21:12     ` Kalra, Ashish
2022-10-21 21:30       ` Tom Lendacky
2022-10-21 21:56         ` Kalra, Ashish
2022-06-20 23:13 ` [PATCH Part2 v6 43/49] KVM: SVM: Use a VMSA physical address variable for populating VMCB Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 44/49] KVM: SVM: Support SEV-SNP AP Creation NAE event Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 45/49] KVM: SVM: Add module parameter to enable the SEV-SNP Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 46/49] ccp: add support to decrypt the page Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 47/49] *fix for stale per-cpu pointer due to cond_resched during ghcb mapping Ashish Kalra
2022-06-24 16:35   ` Peter Gonda
2022-06-24 16:44     ` Kalra, Ashish
2022-06-20 23:15 ` [PATCH Part2 v6 48/49] *debug: warn and retry failed rmpupdates Ashish Kalra
2022-06-20 23:15 ` [PATCH Part2 v6 49/49] KVM: SVM: Sync the GHCB scratch buffer using already mapped ghcb Ashish Kalra

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=YukkdQJS4K+V2Nkn@kernel.org \
    --to=jarkko@kernel.org \
    --cc=Ashish.Kalra@amd.com \
    --cc=ak@linux.intel.com \
    --cc=alpergun@google.com \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dgilbert@redhat.com \
    --cc=dovmurik@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=jmattson@google.com \
    --cc=jroedel@suse.de \
    --cc=kirill@shutemov.name \
    --cc=kvm@vger.kernel.org \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=marcorr@google.com \
    --cc=michael.roth@amd.com \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pgonda@google.com \
    --cc=rientjes@google.com \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=seanjc@google.com \
    --cc=slp@redhat.com \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=tobin@ibm.com \
    --cc=tony.luck@intel.com \
    --cc=vbabka@suse.cz \
    --cc=vkuznets@redhat.com \
    --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.