On Thu, Sep 13, 2018 at 3:46 AM, Chao Fan <fanc.fnst@xxxxxxxxxxxxxx> wrote: > There is a bug that kaslr may randomly chooses some positions > which are located in movable memory regions. This will break memory > hotplug feature and make the movable memory chosen by KASLR can't be > removed. So dig SRAT table from ACPI tables to get memory information. > > Imitate the ACPI code of parsing ACPI tables to dig and read ACPI > tables. Since some operations are not needed here, functions are > simplified. Functions will be used to dig only SRAT tables to get > information of memory, so that KASLR can the memory in immovable node. > > And also, these functions won't influence the initialization of > ACPI after start_kernel(). > > Since use physical address directely, so acpi_os_map_memory() > and acpi_os_unmap_memory() are not needed. > > Signed-off-by: Chao Fan <fanc.fnst@xxxxxxxxxxxxxx> > --- > arch/x86/boot/compressed/Makefile | 4 + > arch/x86/boot/compressed/acpitb.c | 401 ++++++++++++++++++++++++++++++ Does this logic live anywhere else in the kernel already? (i.e. could other code be reused?) -Kees -- Kees Cook Pixel Security