Re: [patch V2 04/16] x86/tss: Fix and move VMX BUILD_BUG_ON()

From: Andy Lutomirski
Date: Tue Nov 12 2019 - 10:37:26 EST


On Mon, Nov 11, 2019 at 2:35 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> The BUILD_BUG_ON(IO_BITMAP_OFFSET - 1 == 0x67) in the VMX code is bogus in
> two aspects:
>
> 1) This wants to be in generic x86 code simply to catch issues even when
> VMX is disabled in Kconfig.
>
> 2) The IO_BITMAP_OFFSET is not the right thing to check because it makes
> asssumptions about the layout of tss_struct. Nothing requires that the
> I/O bitmap is placed right after x86_tss, which is the hardware mandated
> tss structure. It pointlessly makes restrictions on the struct
> tss_struct layout.
>
> The proper thing to check is:
>
> - Offset of x86_tss in tss_struct is 0
> - Size of x86_tss == 0x68
>
> Move it to the other build time TSS checks and make it do the right thing.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>