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:34:22 EST


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.

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
>>
>>
>>
>
>