]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
x86/mm: Don't attempt to encrypt initrd under SEV
authorTom Lendacky <thomas.lendacky@amd.com>
Fri, 20 Oct 2017 14:30:45 +0000 (09:30 -0500)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 7 Nov 2017 14:35:55 +0000 (15:35 +0100)
When SEV is active the initrd/initramfs will already have already been
placed in memory encrypted so do not try to encrypt it.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Tested-by: Borislav Petkov <bp@suse.de>
Cc: kvm@vger.kernel.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@kernel.org>
Link: https://lkml.kernel.org/r/20171020143059.3291-4-brijesh.singh@amd.com
arch/x86/kernel/setup.c

index 0957dd73d127554803f35d5be45dcddb845ca741..507100a72eb39c8893e65b94f23965c94e65dd25 100644 (file)
@@ -380,9 +380,11 @@ static void __init reserve_initrd(void)
         * If SME is active, this memory will be marked encrypted by the
         * kernel when it is accessed (including relocation). However, the
         * ramdisk image was loaded decrypted by the bootloader, so make
-        * sure that it is encrypted before accessing it.
+        * sure that it is encrypted before accessing it. For SEV the
+        * ramdisk will already be encrypted, so only do this for SME.
         */
-       sme_early_encrypt(ramdisk_image, ramdisk_end - ramdisk_image);
+       if (sme_active())
+               sme_early_encrypt(ramdisk_image, ramdisk_end - ramdisk_image);
 
        initrd_start = 0;