• Thomas Gleixner's avatar
    x86/tss: Fix and move VMX BUILD_BUG_ON() · 6b546e1c
    Thomas Gleixner authored
    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: default avatarThomas Gleixner <tglx@linutronix.de>
    Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Acked-by: default avatarAndy Lutomirski <luto@kernel.org>
    6b546e1c
vmx.c 218 KB