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

From: Chao Fan
Date: Mon Jul 02 2018 - 21:42:07 EST


On Tue, Jul 03, 2018 at 09:39:02AM +0800, Baoquan He wrote:
>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.

I will check the detail, thanks.

Thanks,
Chao Fan
>
>>
>> >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
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>