Re: [PATCH 03/16] x86/gdt: Put per-cpu GDT remaps in ascending order

From: Borislav Petkov
Date: Tue Nov 21 2017 - 12:17:09 EST


On Mon, Nov 20, 2017 at 09:07:34AM -0800, Andy Lutomirski wrote:
> We currently have CPU 0's GDT at the top of the GDT range and
> higher-numbered CPUs at lower addreses. This happens because the

addresses

> fixmap is upside down (index 0 is the top of the fixmap).
>
> Flip it so that GDTs are in ascending order by virtual address.
> This will simplify a future patch that will generalize the GDT
> remap to contain multiple pages.
>
> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> ---
> arch/x86/include/asm/desc.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
> index 4011cb03ef08..95cd95eb7285 100644
> --- a/arch/x86/include/asm/desc.h
> +++ b/arch/x86/include/asm/desc.h
> @@ -63,7 +63,7 @@ static inline struct desc_struct *get_current_gdt_rw(void)
> /* Get the fixmap index for a specific processor */
> static inline unsigned int get_cpu_gdt_ro_index(int cpu)
> {
> - return FIX_GDT_REMAP_BEGIN + cpu;
> + return FIX_GDT_REMAP_END - cpu;
> }
>
> /* Provide the fixmap address of the remapped GDT */
> --

Other than the typo above:

Reviewed-by: Borislav Petkov <bp@xxxxxxx>

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--