On Sat, 23 Aug 2025 at 23:47, Ard Biesheuvel <a...@kernel.org> wrote: > > (cc Ilias) > > Note to akpm: please drop this series for now. > > On Fri, 22 Aug 2025 at 04:00, Evangelos Petrongonas <epet...@amazon.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) <r...@kernel.org> > > Signed-off-by: Evangelos Petrongonas <epet...@amazon.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?