lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 16 Mar 2017 13:17:47 -0500 From: Brijesh Singh <brijesh.singh@....com> To: Paolo Bonzini <pbonzini@...hat.com>, <simon.guinot@...uanux.org>, <linux-efi@...r.kernel.org>, <kvm@...r.kernel.org>, <rkrcmar@...hat.com>, <matt@...eblueprint.co.uk>, <linux-pci@...r.kernel.org>, <linus.walleij@...aro.org>, <gary.hook@....com>, <linux-mm@...ck.org>, <paul.gortmaker@...driver.com>, <hpa@...or.com>, <cl@...ux.com>, <dan.j.williams@...el.com>, <aarcange@...hat.com>, <sfr@...b.auug.org.au>, <andriy.shevchenko@...ux.intel.com>, <herbert@...dor.apana.org.au>, <bhe@...hat.com>, <xemul@...allels.com>, <joro@...tes.org>, <x86@...nel.org>, <peterz@...radead.org>, <piotr.luc@...el.com>, <mingo@...hat.com>, <msalter@...hat.com>, <ross.zwisler@...ux.intel.com>, <bp@...e.de>, <dyoung@...hat.com>, <thomas.lendacky@....com>, <jroedel@...e.de>, <keescook@...omium.org>, <arnd@...db.de>, <toshi.kani@....com>, <mathieu.desnoyers@...icios.com>, <luto@...nel.org>, <devel@...uxdriverproject.org>, <bhelgaas@...gle.com>, <tglx@...utronix.de>, <mchehab@...nel.org>, <iamjoonsoo.kim@....com>, <labbott@...oraproject.org>, <tony.luck@...el.com>, <alexandre.bounine@....com>, <kuleshovmail@...il.com>, <linux-kernel@...r.kernel.org>, <mcgrof@...nel.org>, <mst@...hat.com>, <linux-crypto@...r.kernel.org>, <tj@...nel.org>, <akpm@...ux-foundation.org>, <davem@...emloft.net> CC: <brijesh.singh@....com> Subject: Re: [RFC PATCH v2 32/32] x86: kvm: Pin the guest memory when SEV is active On 03/16/2017 05:38 AM, Paolo Bonzini wrote: > > > On 02/03/2017 16:18, Brijesh Singh wrote: >> The SEV memory encryption engine uses a tweak such that two identical >> plaintexts at different location will have a different ciphertexts. >> So swapping or moving ciphertexts of two pages will not result in >> plaintexts being swapped. Relocating (or migrating) a physical backing pages >> for SEV guest will require some additional steps. The current SEV key >> management spec [1] does not provide commands to swap or migrate (move) >> ciphertexts. For now we pin the memory allocated for the SEV guest. In >> future when SEV key management spec provides the commands to support the >> page migration we can update the KVM code to remove the pinning logical >> without making any changes into userspace (qemu). >> >> The patch pins userspace memory when a new slot is created and unpin the >> memory when slot is removed. >> >> [1] http://support.amd.com/TechDocs/55766_SEV-KM%20API_Spec.pdf > > This is not enough, because memory can be hidden temporarily from the > guest and remapped later. Think of a PCI BAR that is backed by RAM, or > also SMRAM. The pinning must be kept even in that case. > > You need to add a pair of KVM_MEMORY_ENCRYPT_OPs (one that doesn't map > to a PSP operation), such as KVM_REGISTER/UNREGISTER_ENCRYPTED_RAM. In > QEMU you can use a RAMBlockNotifier to invoke the ioctls. > I was hoping to avoid adding new ioctl, but I see your point. Will add a pair of ioctl's and use RAMBlocNotifier to invoke those ioctls. -Brijesh
Powered by blists - more mailing lists