struct kvm_vcpu_arch {
diff --git a/arch/x86/kvm/mtrr.c b/arch/x86/kvm/mtrr.c
index 562341b..6de49dd 100644
--- a/arch/x86/kvm/mtrr.c
+++ b/arch/x86/kvm/mtrr.c
@@ -105,7 +105,6 @@ EXPORT_SYMBOL_GPL(kvm_mtrr_valid);
static void update_mtrr(struct kvm_vcpu *vcpu, u32 msr)
{
struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state;
- unsigned char mtrr_enabled = mtrr_state->enabled;
gfn_t start, end, mask;
int index;
bool is_fixed = true;
@@ -114,7 +113,7 @@ static void update_mtrr(struct kvm_vcpu *vcpu, u32 msr)
!kvm_arch_has_noncoherent_dma(vcpu->kvm))
return;
- if (!(mtrr_enabled & 0x2) && msr != MSR_MTRRdefType)
+ if (!mtrr_state->mtrr_enabled && msr != MSR_MTRRdefType)
I know Linus doesn't like bitfields too much. Can you change these to
inline functions, and only leave an "u64 deftype" in the struct?