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

