diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-08-26 07:39:15 +0200 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-08-26 07:39:15 +0200 |
commit | 08970fc4e0385790a7b093adfaa4165a189f9eb0 (patch) | |
tree | 9a7ca00d88f64ba69abb3cc1cb7a4a803033b12a /arch/x86/configs | |
parent | x86: cpuid: correct return value on partial operations (diff) | |
download | linux-08970fc4e0385790a7b093adfaa4165a189f9eb0.tar.xz linux-08970fc4e0385790a7b093adfaa4165a189f9eb0.zip |
x86: msr: fix bogus return values from rdmsr_safe/wrmsr_safe
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: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/configs')
0 files changed, 0 insertions, 0 deletions