From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCHv2] qemu-kvm: routing table update thinko fix Date: Thu, 23 Jul 2009 17:01:41 -0300 Message-ID: <20090723200141.GB8131@amt.cnet> References: <20090723085216.GA10799@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, avi@redhat.com, gleb@redhat.com To: "Michael S. Tsirkin" Return-path: Received: from mx2.redhat.com ([66.187.237.31]:32831 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752158AbZGWUCh (ORCPT ); Thu, 23 Jul 2009 16:02:37 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6NK2cCv031061 for ; Thu, 23 Jul 2009 16:02:38 -0400 Content-Disposition: inline In-Reply-To: <20090723085216.GA10799@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Jul 23, 2009 at 11:52:16AM +0300, Michael S. Tsirkin wrote: > When updating irq routing entries, we should memcpy the new entry > over the old one. Current code gets it wrong, and only works because > it's uncommon for guests to change tables. > > Signed-off-by: Michael S. Tsirkin Applied, thanks. > --- > > Changes since v1: > updated irqchip case as well > > qemu-kvm.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/qemu-kvm.c b/qemu-kvm.c > index 60e5eac..b4de9c6 100644 > --- a/qemu-kvm.c > +++ b/qemu-kvm.c > @@ -1544,7 +1544,7 @@ int kvm_update_routing_entry(kvm_context_t kvm, > case KVM_IRQ_ROUTING_IRQCHIP: > if (e->u.irqchip.irqchip == entry->u.irqchip.irqchip && > e->u.irqchip.pin == entry->u.irqchip.pin) { > - memcpy(&e->u.irqchip, &entry->u.irqchip, sizeof e->u.irqchip); > + memcpy(&e->u.irqchip, &newentry->u.irqchip, sizeof e->u.irqchip); > return 0; > } > break; > @@ -1552,7 +1552,7 @@ int kvm_update_routing_entry(kvm_context_t kvm, > if (e->u.msi.address_lo == entry->u.msi.address_lo && > e->u.msi.address_hi == entry->u.msi.address_hi && > e->u.msi.data == entry->u.msi.data) { > - memcpy(&e->u.msi, &entry->u.msi, sizeof e->u.msi); > + memcpy(&e->u.msi, &newentry->u.msi, sizeof e->u.msi); > return 0; > } > break; > -- > 1.6.2.5 > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html