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 <[email protected]>
> ---
>  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 <[email protected]>

-- 
Regards/Gruss,
    Boris.

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

Reply via email to