On Fri, 4 Sep 2020 at 18:50, Heinrich Schuchardt <xypron.glpk@xxxxxx> wrote: > > In the memory map the regions with the lowest addresses may be of type > EFI_RESERVED_TYPE. The reserved areas may be discontinuous relative to the > rest of the memory. So for calculating the maximum loading address for the > device tree and the initial ramdisk image these reserved areas should not > be taken into account. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> > --- > drivers/firmware/efi/libstub/efi-stub.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/efi/libstub/efi-stub.c b/drivers/firmware/efi/libstub/efi-stub.c > index c2484bf75c5d..13058ac75765 100644 > --- a/drivers/firmware/efi/libstub/efi-stub.c > +++ b/drivers/firmware/efi/libstub/efi-stub.c > @@ -106,7 +106,8 @@ static unsigned long get_dram_base(void) > map.map_end = map.map + map_size; > > for_each_efi_memory_desc_in_map(&map, md) { > - if (md->attribute & EFI_MEMORY_WB) { > + if (md->attribute & EFI_MEMORY_WB && > + md->type != EFI_RESERVED_TYPE) { shouldn't the type here be CONVENTIONAL? > if (membase > md->phys_addr) > membase = md->phys_addr; > } > -- > 2.28.0 >