Re: [RFC PATCH 0/4] x86/boot/KASLR: Parse ACPI table and limit kaslr in immovable memory.

From: Baoquan He
Date: Mon Jul 02 2018 - 21:39:13 EST


On 07/03/18 at 09:32am, Chao Fan wrote:
> On Mon, Jul 02, 2018 at 08:18:55PM +0800, Baoquan He wrote:
> >Hi Chao,
> >
> >On 06/12/18 at 04:10pm, Chao Fan wrote:
> >> *** Issues need be discussed
> >> There are several issues I am not quite sure, please help review and
> >> give suggestions:
> >>
> >> 1) In PATCH 1, I copy the structures and functions from ACPI head file,
> >> so that ACPI head file will never been used here. I am not sure
> >> whether it's good to include ACPI head file or use the method in
> >> PATCH 1. If people think we can use ACPI head files directely, I
> >> will remove the PATCH 1.
> >
> >Usaully we try to reuse code even though they are located in different
> >life space. I think it applies to this SRAT handling. Copying ACPI codes
>
> Yes, you are right. But as you said, they are in different life space,
> so I don't have a better method to dig the SRAT table.
> If anyone have a good way or suggestion, please tell me.

I think someone has told a good way, please check
arch/x86/boot/compressed/eboot.c and see what uefi has done.

>
> >to kernel decompressing looks messy. Is there better way to reuse ACPI
> >code and read SRAT table, then get what we need in a simple way?
> >
> >Thanks
> >Baoquan
> >>
> >> ***Test results:
> >> - I did a very simple test, and it can get the memory information in
> >> bios and efi KVM guest machine, and put it by early printk. But no
> >> more tests, so it's with RFC tag.
> >>
> >> Any comments will be welcome.
> >>
> >>
> >> Chao Fan (4):
> >> x86/boot: Add acpitb.h to help parse acpi tables
> >> x86/boot: Add acpitb.c to parse acpi tables
> >> x86/boot/KASLR: Walk srat tables to filter immovable memory
> >> x86/boot/KASLR: Limit kaslr to choosing the immovable memory
> >>
> >> arch/x86/boot/compressed/Makefile | 1 +
> >> arch/x86/boot/compressed/acpitb.c | 245 ++++++++++++++++++++++++++++++
> >> arch/x86/boot/compressed/acpitb.h | 175 +++++++++++++++++++++
> >> arch/x86/boot/compressed/kaslr.c | 120 +++++++++++++--
> >> 4 files changed, 530 insertions(+), 11 deletions(-)
> >> create mode 100644 arch/x86/boot/compressed/acpitb.c
> >> create mode 100644 arch/x86/boot/compressed/acpitb.h
> >>
> >> --
> >> 2.17.0
> >>
> >>
> >>
> >
> >
>
>