From: Borislav Petkov <bp@alien8.de>
To: Brijesh Singh <brijesh.singh@amd.com>
Cc: kvm@vger.kernel.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Gary Hook" <gary.hook@amd.com>,
"Tom Lendacky" <thomas.lendacky@amd.com>,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [Part2 PATCH v6 13/38] crypto: ccp: Add Secure Encrypted Virtualization (SEV) command support
Date: Mon, 23 Oct 2017 09:34:29 +0200 [thread overview]
Message-ID: <20171023073429.GA10952@nazgul.tnic> (raw)
In-Reply-To: <20171020023413.122280-14-brijesh.singh@amd.com>
On Thu, Oct 19, 2017 at 09:33:48PM -0500, Brijesh Singh wrote:
> AMD's new Secure Encrypted Virtualization (SEV) feature allows the
> memory contents of virtual machines to be transparently encrypted with a
> key unique to the VM. The programming and management of the encryption
> keys are handled by the AMD Secure Processor (AMD-SP) which exposes the
> commands for these tasks. The complete spec is available at:
>
> http://support.amd.com/TechDocs/55766_SEV-KM%20API_Specification.pdf
>
> Extend the AMD-SP driver to provide the following support:
>
> - an in-kernel API to communicate with the SEV firmware. The API can be
> used by the hypervisor to create encryption context for a SEV guest.
>
> - a userspace IOCTL to manage the platform certificates.
Just minor cleanups:
---
diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
index e9966d5fc6c4..f9a9a6e6ab99 100644
--- a/drivers/crypto/ccp/psp-dev.c
+++ b/drivers/crypto/ccp/psp-dev.c
@@ -31,7 +31,7 @@
static DEFINE_MUTEX(sev_cmd_mutex);
static DEFINE_MUTEX(fw_init_mutex);
-static struct sev_misc_dev *sev_misc_dev;
+static struct sev_misc_dev *misc_dev;
static int fw_init_count;
static struct psp_device *psp_alloc_struct(struct sp_device *sp)
@@ -299,14 +299,14 @@ static int sev_ops_init(struct psp_device *psp)
* sev_do_cmd() finds the right master device to which to issue the
* command to the firmware.
*/
- if (!sev_misc_dev) {
+ if (!misc_dev) {
struct miscdevice *misc;
- sev_misc_dev = devm_kzalloc(dev, sizeof(*sev_misc_dev), GFP_KERNEL);
- if (!sev_misc_dev)
+ misc_dev = devm_kzalloc(dev, sizeof(*misc_dev), GFP_KERNEL);
+ if (!misc_dev)
return -ENOMEM;
- misc = &sev_misc_dev->misc;
+ misc = &misc_dev->misc;
misc->minor = MISC_DYNAMIC_MINOR;
misc->name = DEVICE_NAME;
misc->fops = &sev_fops;
@@ -315,13 +315,13 @@ static int sev_ops_init(struct psp_device *psp)
if (ret)
return ret;
- kref_init(&sev_misc_dev->refcount);
+ kref_init(&misc_dev->refcount);
} else {
- kref_get(&sev_misc_dev->refcount);
+ kref_get(&misc_dev->refcount);
}
init_waitqueue_head(&psp->sev_int_queue);
- psp->sev_misc = sev_misc_dev;
+ psp->sev_misc = misc_dev;
dev_info(dev, "registered SEV device\n");
return 0;
@@ -340,9 +340,9 @@ static int sev_init(struct psp_device *psp)
static void sev_exit(struct kref *ref)
{
- struct sev_misc_dev *sev_dev = container_of(ref, struct sev_misc_dev, refcount);
+ struct sev_misc_dev *misc_dev = container_of(ref, struct sev_misc_dev, refcount);
- misc_deregister(&sev_dev->misc);
+ misc_deregister(&misc_dev->misc);
}
int psp_dev_init(struct sp_device *sp)
@@ -405,7 +405,7 @@ void psp_dev_destroy(struct sp_device *sp)
struct psp_device *psp = sp->psp_data;
if (psp->sev_misc)
- kref_put(&sev_misc_dev->refcount, sev_exit);
+ kref_put(&misc_dev->refcount, sev_exit);
sp_free_psp_irq(sp, psp);
}
diff --git a/include/linux/psp-sev.h b/include/linux/psp-sev.h
index 21511419bfe6..eac850a97610 100644
--- a/include/linux/psp-sev.h
+++ b/include/linux/psp-sev.h
@@ -525,7 +525,7 @@ int sev_platform_shutdown(int *error);
/**
* sev_platform_status - perform SEV PLATFORM_STATUS command
*
- * @init: sev_data_status structure to be processed
+ * @status: sev_user_data_status structure to be processed
* @error: SEV command return code
*
* Returns:
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
next prev parent reply other threads:[~2017-10-23 7:34 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-20 2:33 [Part2 PATCH v6 00/38] x86: Secure Encrypted Virtualization (AMD) Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 01/38] Documentation/virtual/kvm: Add AMD Secure Encrypted Virtualization (SEV) Brijesh Singh
2017-10-20 13:18 ` Jonathan Corbet
2017-10-23 22:40 ` Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 02/38] x86/CPU/AMD: Add the Secure Encrypted Virtualization CPU feature Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 03/38] kvm: svm: prepare for new bit definition in nested_ctl Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 04/38] kvm: svm: Add SEV feature definitions to KVM Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 05/38] KVM: SVM: Prepare to reserve asid for SEV guest Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 06/38] KVM: X86: Extend CPUID range to include new leaf Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 07/38] KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 08/38] KVM: Introduce KVM_MEMORY_ENCRYPT_{UN,}REG_REGION ioctl Brijesh Singh
2017-10-20 15:00 ` Borislav Petkov
2017-10-20 2:33 ` [Part2 PATCH v6 10/38] crypto: ccp: Define SEV userspace ioctl and command id Brijesh Singh
2017-10-24 18:40 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 11/38] crypto: ccp: Define SEV key management " Brijesh Singh
2017-10-24 18:40 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 12/38] crypto: ccp: Add Platform Security Processor (PSP) device support Brijesh Singh
2017-10-24 18:40 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 13/38] crypto: ccp: Add Secure Encrypted Virtualization (SEV) command support Brijesh Singh
2017-10-23 7:34 ` Borislav Petkov [this message]
2017-10-23 20:05 ` Brijesh Singh
2017-10-23 9:20 ` Borislav Petkov
2017-10-23 19:57 ` Brijesh Singh
2017-10-26 13:56 ` Borislav Petkov
2017-10-26 16:56 ` Brijesh Singh
2017-10-26 17:44 ` Borislav Petkov
2017-10-26 19:26 ` Brijesh Singh
2017-10-26 20:13 ` Borislav Petkov
2017-10-26 20:59 ` Brijesh Singh
2017-10-27 7:56 ` Borislav Petkov
2017-10-27 11:28 ` Brijesh Singh
2017-10-27 20:15 ` Borislav Petkov
2017-10-27 20:25 ` Brijesh Singh
2017-10-27 20:27 ` Borislav Petkov
2017-10-27 21:28 ` Brijesh Singh
2017-10-27 21:49 ` Borislav Petkov
2017-10-27 22:59 ` Brijesh Singh
2017-10-28 0:00 ` Borislav Petkov
2017-10-28 12:20 ` Brijesh Singh
2017-10-29 20:48 ` [Part2 PATCH v6.1 16/38] " Brijesh Singh
2017-10-29 21:14 ` Brijesh Singh
2017-10-30 17:21 ` Borislav Petkov
2017-10-30 17:49 ` Brijesh Singh
2017-10-30 17:57 ` Borislav Petkov
2017-10-31 1:29 ` Brijesh Singh
2017-10-31 10:39 ` Borislav Petkov
2017-10-20 2:33 ` [Part2 PATCH v6 14/38] crypto: ccp: Implement SEV_FACTORY_RESET ioctl command Brijesh Singh
2017-10-23 7:42 ` Borislav Petkov
2017-10-24 18:41 ` Gary R Hook
2017-10-29 21:16 ` [Part2 PATCH v6.1 " Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 15/38] crypto: ccp: Implement SEV_PLATFORM_STATUS " Brijesh Singh
2017-10-23 8:48 ` Borislav Petkov
2017-10-24 18:41 ` Gary R Hook
2017-10-30 3:13 ` [Part2 PATCH v6.1 15/38] crypto: ccp: Implement SEV_PEK_GEN " Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 16/38] " Brijesh Singh
2017-10-23 9:32 ` Borislav Petkov
2017-10-23 12:15 ` Brijesh Singh
2017-10-23 12:32 ` Borislav Petkov
2017-10-23 13:32 ` Brijesh Singh
2017-10-23 14:10 ` Borislav Petkov
2017-10-23 20:00 ` Brijesh Singh
2017-10-23 21:55 ` [Part2 PATCH v6.1 " Brijesh Singh
2017-10-24 18:42 ` Gary R Hook
2017-10-26 14:22 ` Borislav Petkov
2017-10-20 2:33 ` [Part2 PATCH v6 17/38] crypto: ccp: Implement SEV_PDH_GEN " Brijesh Singh
2017-10-23 12:35 ` Borislav Petkov
2017-10-24 18:41 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 18/38] crypto: ccp: Implement SEV_PEK_CSR " Brijesh Singh
2017-10-23 12:49 ` Borislav Petkov
2017-10-23 22:10 ` [Part2 PATCH v6.1 " Brijesh Singh
2017-10-24 18:42 ` Gary R Hook
2017-10-30 3:23 ` [Part2 PATCH v6.2 " Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 19/38] crypto: ccp: Implement SEV_PEK_CERT_IMPORT " Brijesh Singh
2017-10-23 22:14 ` [Part2 PATCH v6.1 " Brijesh Singh
2017-10-24 18:42 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 20/38] crypto: ccp: Implement SEV_PDH_CERT_EXPORT " Brijesh Singh
2017-10-23 22:19 ` [Part2 PATCH v6.1 " Brijesh Singh
2017-10-24 18:43 ` Gary R Hook
2017-10-20 2:33 ` [Part2 PATCH v6 21/38] KVM: X86: Add CONFIG_KVM_AMD_SEV Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 22/38] KVM: SVM: Add sev module_param Brijesh Singh
2017-10-20 2:33 ` [Part2 PATCH v6 23/38] KVM: SVM: Reserve ASID range for SEV guest Brijesh Singh
2017-10-27 20:23 ` Borislav Petkov
2017-10-20 2:33 ` [Part2 PATCH v6 24/38] KVM: Define SEV key management command id Brijesh Singh
2017-10-27 20:23 ` Borislav Petkov
2017-10-20 2:34 ` [Part2 PATCH v6 25/38] KVM: SVM: Add KVM_SEV_INIT command Brijesh Singh
2017-10-27 20:24 ` Borislav Petkov
2017-10-30 11:49 ` Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 26/38] KVM: SVM: VMRUN should use assosiated ASID when SEV is enabled Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 27/38] KVM: SVM: Add support for KVM_SEV_LAUNCH_START command Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 28/38] KVM: SVM: Add support for KVM_SEV_LAUNCH_UPDATE_DATA command Brijesh Singh
2017-10-27 20:24 ` Borislav Petkov
2017-10-20 2:34 ` [Part2 PATCH v6 29/38] KVM: SVM: Add support for KVM_SEV_LAUNCH_MEASURE command Brijesh Singh
2017-10-27 20:24 ` Borislav Petkov
2017-10-20 2:34 ` [Part2 PATCH v6 30/38] KVM: SVM: Add support for SEV LAUNCH_FINISH command Brijesh Singh
2017-10-27 20:25 ` Borislav Petkov
2017-10-20 2:34 ` [Part2 PATCH v6 31/38] KVM: SVM: Add support for SEV GUEST_STATUS command Brijesh Singh
2017-10-27 20:25 ` Borislav Petkov
2017-10-20 2:34 ` [Part2 PATCH v6 32/38] KVM: SVM: Add support for SEV DEBUG_DECRYPT command Brijesh Singh
2017-10-27 20:25 ` Borislav Petkov
2017-10-30 13:56 ` Brijesh Singh
2017-10-30 15:12 ` Borislav Petkov
2017-10-30 16:33 ` Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 33/38] KVM: SVM: Add support for SEV DEBUG_ENCRYPT command Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 34/38] KVM: SVM: Add support for SEV LAUNCH_SECRET command Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 35/38] KVM: SVM: Pin guest memory when SEV is active Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 36/38] KVM: SVM: Clear C-bit from the page fault address Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 37/38] KVM: SVM: Do not install #UD intercept when SEV is enabled Brijesh Singh
2017-10-20 2:34 ` [Part2 PATCH v6 38/38] KVM: X86: Restart the guest when insn_len is zero and " Brijesh Singh
2017-10-23 22:07 ` [Part2 PATCH v6.1 18/38] crypto: ccp: Implement SEV_PEK_CSR ioctl command Brijesh Singh
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=20171023073429.GA10952@nazgul.tnic \
--to=bp@alien8.de \
--cc=brijesh.singh@amd.com \
--cc=gary.hook@amd.com \
--cc=herbert@gondor.apana.org.au \
--cc=kvm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=thomas.lendacky@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox