]> xenbits.xensource.com Git - xen.git/commitdiff
x86/mem_event: fix regression affecting CR0 memory events
authorTamas K Lengyel <tamas.lengyel@zentific.com>
Mon, 28 Jul 2014 13:14:43 +0000 (15:14 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 28 Jul 2014 13:14:43 +0000 (15:14 +0200)
This is a patch repairing a regression in code previously functional in 4.1.x.
It appears that, during some refactoring work, call to hvm_memory_event_cr0 was lost.

This function was originally called in mov_to_cr() of vmx.c, but the commit
http://xenbits.xen.org/hg/xen-unstable.hg/rev/1276926e3795 abstracted the
original code into generic functions up a level in hvm.c, dropping the call
in the process.

The same issue affected the CR3 and CR4 events, which were fixed in patch
http://xenbits.xensource.com/hg/xen-unstable.hg/rev/7ab899e46347.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
Reviewed-by: Tim Deegan <tim@xen.org>
master commit: 5d570c1d0274cac3b333ef378af3325b3b69905e
master date: 2014-07-23 18:05:11 +0200

xen/arch/x86/hvm/hvm.c

index 7d4b0b390c2c7516ccfb91cdbd2c792dc938e206..8959a5419179c81c1ec738d087d6f852bda95cd2 100644 (file)
@@ -1788,6 +1788,7 @@ int hvm_set_cr0(unsigned long value)
 
     v->arch.hvm_vcpu.guest_cr[0] = value;
     hvm_update_guest_cr(v, 0);
+    hvm_memory_event_cr0(value, old_value);
 
     if ( (value ^ old_value) & X86_CR0_PG ) {
         if ( !nestedhvm_vmswitch_in_progress(v) && nestedhvm_vcpu_in_guestmode(v) )