Messages in this thread | | | Subject | Re: [PATCH v3 0/5] x86: SME: BSP/SME microcode update fix | From | Gabriel C <> | Date | Mon, 15 Jan 2018 23:47:24 +0100 |
| |
On 11.01.2018 19:33, Borislav Petkov wrote: > On Wed, Jan 10, 2018 at 01:25:45PM -0600, Tom Lendacky wrote: >> This patch series addresses an issue when SME is active and the BSP >> is attempting to check for and load microcode during load_ucode_bsp(). >> Since the initrd has not been decrypted (yet) and the virtual address >> of the initrd treats the memory as encrypted, the CPIO archive parsing >> fails to locate the microcode. >> >> This series moves the encryption of the initrd into the early boot code >> and encrypts it at the same time that the kernel is encrypted. Since >> the initrd is now encrypted, the CPIO archive parsing succeeds in >> properly locating the microcode. >> >> The following patches are included in this fix: >> - Cleanup register saving in arch/x86/mm/mem_encrypt_boot.S >> - Reduce parameters and complexity for creating the SME PGD mappings >> - Centralize the use of the PMD flags used in sme_encrypt_kernel() in >> preparation for using PTE flags also. >> - Prepare sme_encrypt_kernel() to handle PAGE aligned encryption, not >> just 2MB large page aligned encryption. >> - Encrypt the initrd in sme_encrypt_kernel() when the kernel is being >> encrypted. >> >> This patch series is based on tip/master. >> >> --- >> >> Changes from v2: >> - General code cleanup based on feedback. >> >> Changes from v1: >> - Additional patch to cleanup the register saving performed in >> arch/x86/mm/mem_encrypt_boot.S in prep for changes made in the >> remainder of the patchset. >> - Additional patch to reduce parameters and complexity for creating the >> SME PGD mappings by introducing and using a structure for referencing >> the PGD to populate, the pagetable allocation area, the virtual/physical >> addresses being mapped and the pagetable flags to be used. >> - Consolidate PMD/PTE mapping code to reduce duplication. >> >> Tom Lendacky (5): >> x86/mm: Cleanup register saving in mem_encrypt_boot.S >> x86/mm: Use a struct to reduce parameters for SME PGD mapping >> x86/mm: Centralize PMD flags in sme_encrypt_kernel() >> x86/mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption >> x86/mm: Encrypt the initrd earlier for BSP microcode update >> >> >> arch/x86/include/asm/mem_encrypt.h | 4 >> arch/x86/kernel/head64.c | 4 >> arch/x86/kernel/setup.c | 10 - >> arch/x86/mm/mem_encrypt.c | 356 ++++++++++++++++++++++++++---------- >> arch/x86/mm/mem_encrypt_boot.S | 80 ++++---- >> 5 files changed, 308 insertions(+), 146 deletions(-) > > All 5: > > Reviewed-by: Borislav Petkov <bp@suse.de> >
Guys , are these patches going to be part of 4.15 ?
With mem_encrypt=on without these patches microcode loading doesn't work right. Also @stable 4.14 would need the fixes too.
Regards,
Gabriel C
| |