Message ID | 4e44e6e6-ca5c-dd93-2407-f92f6a82b053@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | XSA-292 follow-up | expand |
On 17/09/2019 07:16, Jan Beulich wrote: > There's no need to re-obtain a page reference if only bits not affecting > the address change. > > Signed-off-by: Jan Beulich <jbeulich@suse.com> > Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
--- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -2325,7 +2325,7 @@ int hvm_set_cr3(unsigned long value, boo } if ( hvm_paging_enabled(v) && !paging_mode_hap(currd) && - (value != v->arch.hvm.guest_cr[3]) ) + ((value ^ v->arch.hvm.guest_cr[3]) >> PAGE_SHIFT) ) { /* Shadow-mode CR3 change. Check PDBR and update refcounts. */ HVM_DBG_LOG(DBG_LEVEL_VMMU, "CR3 value = %lx", value);