Re: [PATCH 2/2] x86/boot/compressed/64: Fix moving page table out of trampoline memory
From: Thomas Gleixner
Date: Sun May 13 2018 - 14:56:59 EST
On Thu, 10 May 2018, Kirill A. Shutemov wrote:
> top_pgtable address has to be calculated relative to where the kernel
> image will be relocated for decompression, not relative to position of
> kernel is running at the moment. We do the same for the rest of page
> table we use the stage. It makes them safe from being overwritten during
> decompression.
>
> Calculate the address of top_pgtable in assembly and pass down to
> cleanup_trampoline().
>
> Move the page table to .pgtable section where the rest of page tables
> are. The section is @nobits so we save 4k in kernel image.
So this is supposed to be a fix, but the whole changelog talks about WHAT
the patch does and not WHY. Darn, we need proper description of the failure
which is about to be fixed.
It's not that hard and I'm really tired to tell you that over and over.
> /*
> * cleanup_trampoline() would restore trampoline memory.
> *
> + * RDI is address of the page table to use instead of page table
> + * in trampoline memory (if required).
Do you really believe that you understand that comment 6 month from now?
Thanks,
tglx