From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH] x86 vm_event: reset monitor in vm_event_cleanup_domain() Date: Wed, 27 Jan 2016 19:45:01 +0000 Message-ID: <56A91E3D.3000609@citrix.com> References: <1453923738-4919-1-git-send-email-rcojocaru@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1453923738-4919-1-git-send-email-rcojocaru@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Razvan Cojocaru , xen-devel@lists.xen.org Cc: tamas@tklengyel.com, keir@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org On 27/01/2016 19:42, Razvan Cojocaru wrote: > It is currently possible to leave a monitor flag enabled even > after vm_event_cleanup_domain() has been called, potentially > leading to a crash in hvm_msr_write_intercept() and hvm_set_crX() > (when v->arch.vm_event has become NULL, but the corresponding > corresponding v->domain->arch.monitor flag is non-zero). > This patch zeroes out arch.monitor in vm_event_cleanup_domain(). > > Signed-off-by: Razvan Cojocaru Reviewed-by: Andrew Cooper > --- > xen/arch/x86/vm_event.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c > index 9677ecc..08d678a 100644 > --- a/xen/arch/x86/vm_event.c > +++ b/xen/arch/x86/vm_event.c > @@ -56,6 +56,7 @@ void vm_event_cleanup_domain(struct domain *d) > } > > d->arch.mem_access_emulate_each_rep = 0; > + memset(&d->arch.monitor, 0, sizeof(d->arch.monitor)); > } > > void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v)