On 11/10/2017 08:05 PM, Andy Lutomirski wrote:
> diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h
> index fbc9b7f4e35e..8a9ba5553cab 100644
> --- a/arch/x86/include/asm/fixmap.h
> +++ b/arch/x86/include/asm/fixmap.h
> @@ -52,6 +52,13 @@ extern unsigned long __FIXADDR_TOP;
>  struct cpu_entry_area
>  {
>       char gdt[PAGE_SIZE];
> +
> +     /*
> +      * The gdt is just below cpu_tss and thus serves (on x86_64) as a
> +      * a read-only guard page for the SYSENTER stack at the bottom
> +      * of the TSS region.
> +      */
> +     struct tss_struct tss;
>  };
>  

Aha, and here's the place that you need sizeof(tss_struct) to be nice
and page-aligned.

But why don't we just do:

        char tss_space[PAGE_SIZE*something];

?

Reply via email to