KVM: Don't allow the guest to turn off the cpu cache
authorAvi Kivity <avi@qumranet.com>
Wed, 21 Mar 2007 16:11:36 +0000 (18:11 +0200)
committerAvi Kivity <avi@qumranet.com>
Thu, 3 May 2007 07:52:26 +0000 (10:52 +0300)
The cpu cache is a host resource; the guest should not be able to turn
it off (even for itself).

Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/kvm/svm.c

index d3cc115..191bc45 100644 (file)
@@ -737,8 +737,10 @@ static void svm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0)
        }
 #endif
        vcpu->svm->cr0 = cr0;
-       vcpu->svm->vmcb->save.cr0 = cr0 | CR0_PG_MASK | CR0_WP_MASK;
        vcpu->cr0 = cr0;
+       cr0 |= CR0_PG_MASK | CR0_WP_MASK;
+       cr0 &= ~(CR0_CD_MASK | CR0_NW_MASK);
+       vcpu->svm->vmcb->save.cr0 = cr0;
 }
 
 static void svm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)