All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Borislav Petkov <bp@alien8.de>,
	 Andy Lutomirski <luto@kernel.org>,
	Dave Hansen <dave.hansen@intel.com>,
	 Sean Christopherson <seanjc@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	 Joerg Roedel <jroedel@suse.de>, Andi Kleen <ak@linux.intel.com>,
	 Kuppuswamy Sathyanarayanan
	<sathyanarayanan.kuppuswamy@linux.intel.com>,
	 David Rientjes <rientjes@google.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	 Tom Lendacky <thomas.lendacky@amd.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	 Peter Zijlstra <peterz@infradead.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	 Ingo Molnar <mingo@redhat.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	 David Hildenbrand <david@redhat.com>,
	Mel Gorman <mgorman@techsingularity.net>,
	 marcelo.cerri@canonical.com, tim.gardner@canonical.com,
	 khalid.elmously@canonical.com, philip.cox@canonical.com,
	aarcange@redhat.com,  peterx@redhat.com, x86@kernel.org,
	linux-mm@kvack.org,  linux-coco@lists.linux.dev,
	linux-efi@vger.kernel.org,  linux-kernel@vger.kernel.org,
	Liam Merwick <liam.merwick@oracle.com>
Subject: Re: [PATCHv12 4/9] x86/boot/compressed: Handle unaccepted memory
Date: Mon, 22 May 2023 13:08:28 +0200	[thread overview]
Message-ID: <CAMj1kXF1ugZ9fZaLccvi86jnJFM6OSiYrc1_6d6LP=ApcBr7Gg@mail.gmail.com> (raw)
In-Reply-To: <20230522110116.675nqxrztxbtmdl7@box.shutemov.name>

On Mon, 22 May 2023 at 13:01, Kirill A. Shutemov <kirill@shutemov.name> wrote:
>
> On Fri, May 19, 2023 at 01:16:41PM +0300, Kirill A. Shutemov wrote:
> > On Fri, May 19, 2023 at 02:14:29AM +0300, Kirill A. Shutemov wrote:
> > > diff --git a/arch/x86/boot/compressed/mem.c b/arch/x86/boot/compressed/mem.c
> > > index 67594fcb11d9..87372b96d613 100644
> > > --- a/arch/x86/boot/compressed/mem.c
> > > +++ b/arch/x86/boot/compressed/mem.c
> > > @@ -1,9 +1,32 @@
> > >  // SPDX-License-Identifier: GPL-2.0-only
> > >
> > >  #include "error.h"
> > > +#include "misc.h"
> > >
> > >  void arch_accept_memory(phys_addr_t start, phys_addr_t end)
> > >  {
> > >     /* Platform-specific memory-acceptance call goes here */
> > >     error("Cannot accept memory");
> > >  }
> > > +
> > > +void init_unaccepted_memory(void)
> > > +{
> > > +   guid_t guid =  LINUX_EFI_UNACCEPTED_MEM_TABLE_GUID;
> > > +   struct efi_unaccepted_memory *unaccepted_table;
> > > +   unsigned long cfg_table_pa;
> > > +   unsigned int cfg_table_len;
> > > +   int ret;
> > > +
> > > +   ret = efi_get_conf_table(boot_params, &cfg_table_pa, &cfg_table_len);
> > > +   if (ret)
> > > +           error("EFI config table not found.");
> > > +
> > > +   unaccepted_table = (void *)efi_find_vendor_table(boot_params,
> > > +                                                    cfg_table_pa,
> > > +                                                    cfg_table_len,
> > > +                                                    guid);
> > > +   if (unaccepted_table->version != 1)
> > > +           error("Unknown version of unaccepted memory table\n");
> > > +
> > > +   set_unaccepted_table(unaccepted_table);
> > > +}
> >
> > 0-day reported boot failure outdise TDX guest with CONFIG_INTEL_TDX_GUEST=y.
>
> 0-day folks reported one more issue: booting on non-EFI system fail.
>
> Updated fixup:
>
> diff --git a/arch/x86/boot/compressed/mem.c b/arch/x86/boot/compressed/mem.c
> index 0108c97399a5..e7f7ef31e581 100644
> --- a/arch/x86/boot/compressed/mem.c
> +++ b/arch/x86/boot/compressed/mem.c
> @@ -46,8 +46,13 @@ void init_unaccepted_memory(void)
>         struct efi_unaccepted_memory *unaccepted_table;
>         unsigned long cfg_table_pa;
>         unsigned int cfg_table_len;
> +       enum efi_type et;
>         int ret;
>
> +       et = efi_get_type(boot_params);
> +       if (et == EFI_TYPE_NONE)
> +               return;
> +
>         ret = efi_get_conf_table(boot_params, &cfg_table_pa, &cfg_table_len);
>         if (ret)
>                 error("EFI config table not found.");
> @@ -56,6 +61,9 @@ void init_unaccepted_memory(void)
>                                                          cfg_table_pa,
>                                                          cfg_table_len,
>                                                          guid);
> +       if (!unaccepted_table)
> +               return;
> +
>         if (unaccepted_table->version != 1)
>                 error("Unknown version of unaccepted memory table\n");
>

With these changes applied,

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

  reply	other threads:[~2023-05-22 11:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18 23:14 [PATCHv12 0/9] mm, x86/cc, efi: Implement support for unaccepted memory Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 1/9] mm: Add " Kirill A. Shutemov
2023-05-31 15:51   ` Borislav Petkov
2023-05-31 16:27     ` Kirill A. Shutemov
2023-05-31 17:50       ` Borislav Petkov
2023-05-31 18:10         ` [PATCHv12.1 " Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 2/9] efi/x86: Get full memory map in allocate_e820() Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 3/9] efi/libstub: Implement support for unaccepted memory Kirill A. Shutemov
2023-05-19 15:12   ` Tom Lendacky
2023-05-18 23:14 ` [PATCHv12 4/9] x86/boot/compressed: Handle " Kirill A. Shutemov
2023-05-19 10:16   ` Kirill A. Shutemov
2023-05-22 11:01     ` Kirill A. Shutemov
2023-05-22 11:08       ` Ard Biesheuvel [this message]
2023-05-18 23:14 ` [PATCHv12 5/9] efi: Add unaccepted memory support Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 6/9] efi/unaccepted: Avoid load_unaligned_zeropad() stepping into unaccepted memory Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 7/9] x86/tdx: Make _tdx_hypercall() and __tdx_module_call() available in boot stub Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 8/9] x86/tdx: Refactor try_accept_one() Kirill A. Shutemov
2023-05-18 23:14 ` [PATCHv12 9/9] x86/tdx: Add unaccepted memory support Kirill A. Shutemov
2023-05-31  0:58   ` Isaku Yamahata
2023-05-31 12:25     ` Kirill A. Shutemov
2023-05-19 16:24 ` [PATCH 1/6] x86/sev: Fix calculation of end address based on number of pages Tom Lendacky
2023-05-19 16:31   ` Tom Lendacky
2023-05-19 16:24 ` [PATCH 2/6] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2023-05-19 16:24 ` [PATCH 3/6] x86/sev: Allow for use of the early boot GHCB for PSC requests Tom Lendacky
2023-05-19 16:24 ` [PATCH 4/6] x86/sev: Use large PSC requests if applicable Tom Lendacky
2023-05-19 16:24 ` [PATCH 5/6] x86/sev: Add SNP-specific unaccepted memory support Tom Lendacky
2023-05-19 16:24 ` [PATCH 6/6] x86/efi: Safely enable unaccepted memory in UEFI Tom Lendacky
2023-05-19 16:30 ` [RESEND PATCH v8 0/6] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2023-05-19 16:30   ` [RESEND PATCH v8 1/6] x86/sev: Fix calculation of end address based on number of pages Tom Lendacky
2023-05-19 16:30   ` [RESEND PATCH v8 2/6] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2023-05-19 16:30   ` [RESEND PATCH v8 3/6] x86/sev: Allow for use of the early boot GHCB for PSC requests Tom Lendacky
2023-05-19 16:30   ` [RESEND PATCH v8 4/6] x86/sev: Use large PSC requests if applicable Tom Lendacky
2023-06-06 10:46     ` Borislav Petkov
2023-05-19 16:30   ` [RESEND PATCH v8 5/6] x86/sev: Add SNP-specific unaccepted memory support Tom Lendacky
2023-05-19 16:30   ` [RESEND PATCH v8 6/6] x86/efi: Safely enable unaccepted memory in UEFI Tom Lendacky

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='CAMj1kXF1ugZ9fZaLccvi86jnJFM6OSiYrc1_6d6LP=ApcBr7Gg@mail.gmail.com' \
    --to=ardb@kernel.org \
    --cc=aarcange@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=dfaggioli@suse.com \
    --cc=jroedel@suse.de \
    --cc=khalid.elmously@canonical.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --cc=liam.merwick@oracle.com \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=marcelo.cerri@canonical.com \
    --cc=mgorman@techsingularity.net \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=peterz@infradead.org \
    --cc=philip.cox@canonical.com \
    --cc=rientjes@google.com \
    --cc=rppt@kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=tim.gardner@canonical.com \
    --cc=vbabka@suse.cz \
    --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.