diff options
-rw-r--r-- | arch/x86/kvm/x86.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index a375dfc42f6a..916e89515210 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -1726,7 +1726,7 @@ static bool valid_mtrr_type(unsigned t) | |||
1726 | static bool mtrr_valid(struct kvm_vcpu *vcpu, u32 msr, u64 data) | 1726 | static bool mtrr_valid(struct kvm_vcpu *vcpu, u32 msr, u64 data) |
1727 | { | 1727 | { |
1728 | int i; | 1728 | int i; |
1729 | u64 mask = 0; | 1729 | u64 mask; |
1730 | 1730 | ||
1731 | if (!msr_mtrr_valid(msr)) | 1731 | if (!msr_mtrr_valid(msr)) |
1732 | return false; | 1732 | return false; |
@@ -1750,8 +1750,7 @@ static bool mtrr_valid(struct kvm_vcpu *vcpu, u32 msr, u64 data) | |||
1750 | /* variable MTRRs */ | 1750 | /* variable MTRRs */ |
1751 | WARN_ON(!(msr >= 0x200 && msr < 0x200 + 2 * KVM_NR_VAR_MTRR)); | 1751 | WARN_ON(!(msr >= 0x200 && msr < 0x200 + 2 * KVM_NR_VAR_MTRR)); |
1752 | 1752 | ||
1753 | for (i = 63; i > boot_cpu_data.x86_phys_bits; i--) | 1753 | mask = (~0ULL) << cpuid_maxphyaddr(vcpu); |
1754 | mask |= (1ULL << i); | ||
1755 | if ((msr & 1) == 0) { | 1754 | if ((msr & 1) == 0) { |
1756 | /* MTRR base */ | 1755 | /* MTRR base */ |
1757 | if (!valid_mtrr_type(data & 0xff)) | 1756 | if (!valid_mtrr_type(data & 0xff)) |