• Sean Christopherson's avatar
    KVM: VMX: Make vmread_error_trampoline() uncallable from C code · 0b5e7a16
    Sean Christopherson authored
    Declare vmread_error_trampoline() as an opaque symbol so that it cannot
    be called from C code, at least not without some serious fudging.  The
    trampoline always passes parameters on the stack so that the inline
    VMREAD sequence doesn't need to clobber registers.  regparm(0) was
    originally added to document the stack behavior, but it ended up being
    confusing because regparm(0) is a nop for 64-bit targets.
    
    Opportunustically wrap the trampoline and its declaration in #ifdeffery
    to make it even harder to invoke incorrectly, to document why it exists,
    and so that it's not left behind if/when CONFIG_CC_HAS_ASM_GOTO_OUTPUT
    is true for all supported toolchains.
    
    No functional change intended.
    
    Cc: Uros Bizjak <ubizjak@gmail.com>
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Link: https://lore.kernel.org/r/20220928232015.745948-1-seanjc@google.com
    0b5e7a16
vmenter.S 8.72 KB