All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Gabriel C <nix.or.die@gmail.com>, Borislav Petkov <bp@alien8.de>,
	x86@kernel.org, Brijesh Singh <brijesh.singh@amd.com>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v3 0/5] x86: SME: BSP/SME microcode update fix
Date: Fri, 19 Jan 2018 16:38:53 +0100	[thread overview]
Message-ID: <20180119153853.GA9995@kroah.com> (raw)
In-Reply-To: <20180119153524.GB1214@kroah.com>

On Fri, Jan 19, 2018 at 04:35:24PM +0100, Greg Kroah-Hartman wrote:
> On Fri, Jan 19, 2018 at 09:27:47AM -0600, Tom Lendacky wrote:
> > On 1/19/2018 9:11 AM, Greg Kroah-Hartman wrote:
> > > On Fri, Jan 19, 2018 at 09:03:52AM -0600, Tom Lendacky wrote:
> > >> On 1/15/2018 4:47 PM, Gabriel C wrote:
> > >>> 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.
> > >>
> > >> It looks like these patches have been pulled into 4.15.  I did forget
> > >> to cc stable, so I'll follow-up with a separate email to have these
> > >> back-ported to the 4.14 stable tree.
> > > 
> > > What are the git commit ids?   That's all I need :)
> > 
> > Hi Greg,
> > 
> > Here are the commit ids:
> >   1303880179e6 (“x86/mm: Clean up register saving in the __enc_copy() assembly code”)
> >   bacf6b499e11 (“x86/mm: Use a struct to reduce parameters for SME PGD mapping”)
> >   2b5d00b6c2cd (“x86/mm: Centralize PMD flags in sme_encrypt_kernel()”)
> >   cc5f01e28d6c (“x86/mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption”)
> >   107cd2532181 (“x86/mm: Encrypt the initrd earlier for BSP microcode update”)
> > 
> > The last commit won't apply cleanly on 4.14.  There was a change in
> > arch/x86/kernel/setup.c for SEV support.  The actual patch to that file
> > is very small it just removes the call to sme_early_encrypt() and the
> > associated comment.  I can submit a new version of that patch if you
> > want, just let me know.
> 
> A backported version of that would be great, thanks.
> 
> And are any of these needed in older kernels like 4.4 and 4.9?

Oh nevermind, this is for a feature that is not in older kernels, sorry
for the noise.

greg k-h

  reply	other threads:[~2018-01-19 15:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-10 19:25 [PATCH v3 0/5] x86: SME: BSP/SME microcode update fix Tom Lendacky
2018-01-10 19:25 ` [PATCH v3 1/5] x86/mm: Cleanup register saving in mem_encrypt_boot.S Tom Lendacky
2018-01-16  3:38   ` [tip:x86/urgent] x86/mm: Clean up register saving in the __enc_copy() assembly code tip-bot for Tom Lendacky
2018-01-10 19:26 ` [PATCH v3 2/5] x86/mm: Use a struct to reduce parameters for SME PGD mapping Tom Lendacky
2018-01-16  3:38   ` [tip:x86/urgent] " tip-bot for Tom Lendacky
2018-01-10 19:26 ` [PATCH v3 3/5] x86/mm: Centralize PMD flags in sme_encrypt_kernel() Tom Lendacky
2018-01-16  3:39   ` [tip:x86/urgent] " tip-bot for Tom Lendacky
2018-01-10 19:26 ` [PATCH v3 4/5] x86/mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption Tom Lendacky
2018-01-16  3:39   ` [tip:x86/urgent] " tip-bot for Tom Lendacky
2018-01-10 19:26 ` [PATCH v3 5/5] x86/mm: Encrypt the initrd earlier for BSP microcode update Tom Lendacky
2018-01-16  3:40   ` [tip:x86/urgent] " tip-bot for Tom Lendacky
2018-01-10 21:14 ` [PATCH v3 0/5] x86: SME: BSP/SME microcode update fix Gabriel C
2018-01-10 21:26   ` Tom Lendacky
2018-01-10 22:20     ` Gabriel C
2018-01-11 18:33 ` Borislav Petkov
2018-01-15 22:47   ` Gabriel C
2018-01-19 15:03     ` Tom Lendacky
2018-01-19 15:11       ` Greg Kroah-Hartman
2018-01-19 15:27         ` Tom Lendacky
2018-01-19 15:35           ` Greg Kroah-Hartman
2018-01-19 15:38             ` Greg Kroah-Hartman [this message]
2018-01-19 15:56             ` Tom Lendacky
2018-01-19 16:02               ` Gabriel C
2018-01-19 17:15                 ` Tom Lendacky
2018-01-19 15:39           ` Greg Kroah-Hartman

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=20180119153853.GA9995@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=bp@alien8.de \
    --cc=brijesh.singh@amd.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nix.or.die@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.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.