• H. Peter Anvin's avatar
    x86: msr: fix bogus return values from rdmsr_safe/wrmsr_safe · 08970fc4
    H. Peter Anvin authored
    Impact: bogus error codes (+other?) on x86-64
    
    The rdmsr_safe/wrmsr_safe routines have macros for the handling of the
    edx:eax arguments.  Those macros take a variable number of assembly
    arguments.  This is rather inherently incompatible with using
    %digit-style escapes in the inline assembly; replace those with
    %[name]-style escapes.
    
    This fixes miscompilation on x86-64, which at the very least caused
    bogus return values.  It is possible that this could also corrupt the
    return value; I am not sure.
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    08970fc4
msr.h 5.77 KB