[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXFzKzpoqczq7Rk-u+kKLFO057XEXMD+KM=iRMMsoUZbJA@mail.gmail.com>
Date: Thu, 4 Sep 2025 09:19:21 +0200
From: Ard Biesheuvel <ardb@...nel.org>
To: Evangelos Petrongonas <epetron@...zon.de>, Ilias Apalodimas <ilias.apalodimas@...aro.org>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Mike Rapoport <rppt@...nel.org>, Alexander Graf <graf@...zon.com>,
Changyuan Lyu <changyuanl@...gle.com>, Baoquan He <bhe@...hat.com>, kexec@...ts.infradead.org,
linux-mm@...ck.org, linux-efi@...r.kernel.org, linux-kernel@...r.kernel.org,
nh-open-source@...zon.com
Subject: Re: [PATCH v3 2/2] efi: Support booting with kexec handover (KHO)
On Sat, 23 Aug 2025 at 23:47, Ard Biesheuvel <ardb@...nel.org> wrote:
>
> (cc Ilias)
>
> Note to akpm: please drop this series for now.
>
> On Fri, 22 Aug 2025 at 04:00, Evangelos Petrongonas <epetron@...zon.de> wrote:
> >
> > When KHO (Kexec HandOver) is enabled, it sets up scratch memory regions
> > early during device tree scanning. After kexec, the new kernel
> > exclusively uses this region for memory allocations during boot up to
> > the initialization of the page allocator
> >
> > However, when booting with EFI, EFI's reserve_regions() uses
> > memblock_remove(0, PHYS_ADDR_MAX) to clear all memory regions before
> > rebuilding them from EFI data. This destroys KHO scratch regions and
> > their flags, thus causing a kernel panic, as there are no scratch
> > memory regions.
> >
> > Instead of wholesale removal, iterate through memory regions and only
> > remove non-KHO ones. This preserves KHO scratch regions, which are
> > good known memory, while still allowing EFI to rebuild its memory map.
> >
> > Acked-by: Mike Rapoport (Microsoft) <rppt@...nel.org>
> > Signed-off-by: Evangelos Petrongonas <epetron@...zon.de>
> > ---
> > Changes in v3:
> > - Improve the code comments, by stating that the scratch regions are
> > good known memory
> >
> > Changes in v2:
> > - Replace the for loop with for_each_mem_region
> > - Fix comment indentation
> > - Amend commit message to specify that scratch regions
> > are known good regions
> >
> > drivers/firmware/efi/efi-init.c | 29 +++++++++++++++++++++++++----
> > 1 file changed, 25 insertions(+), 4 deletions(-)
> >
>
> I'd rather drop the memblock_remove() entirely if possible. Could we
> get some insight into whether memblocks are generally already
> populated at this point during the boot?
>
>
Ping?
Powered by blists - more mailing lists