qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH] vhost_dev_unassign_memory() don't assert if rem


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH] vhost_dev_unassign_memory() don't assert if removing first entry in list.
Date: Mon, 26 Jul 2010 12:30:24 +0300
User-agent: Mutt/1.5.20 (2009-12-10)

On Mon, Jul 26, 2010 at 08:49:19AM +0200, Jes Sorensen wrote:
> On 07/24/10 21:03, Michael S. Tsirkin wrote:
> > On Fri, Jul 23, 2010 at 05:16:42PM +0200, address@hidden wrote:
> >> From: Jes Sorensen <address@hidden>
> >> diff --git a/hw/vhost.c b/hw/vhost.c
> >> index d37a66e..f30cf91 100644
> >> --- a/hw/vhost.c
> >> +++ b/hw/vhost.c
> >> @@ -119,7 +119,6 @@ static void vhost_dev_unassign_memory(struct vhost_dev 
> >> *dev,
> >>          if (start_addr <= reg->guest_phys_addr && memlast >= reglast) {
> >>              --dev->mem->nregions;
> >>              --to;
> >> -            assert(to >= 0);
> >>              ++overlap_middle;
> >>              continue;
> >>          }
> > 
> > Good catch.
> > I think I must have meant dev->mem->nregions >= 0.  Does this work
> > if you put in that assertion, or did I miss something else?
> 
> It should work, but I don't see the point in adding the assert for that
> case since the loop shouldn't be able to run down to nregions < 0.

Yes, we never decrement twice for the same region, so it will never
become negative.  Unless there's a bug in code. Which is exactly what
assert guards against.
This can also be seen as a form of documentation which checks
itself for currectness.
Maybe we should have assert(to >= -1) as well.

But I don't feel strongly about these asserts, if you dislike them,
let me know and I'll apply as is.


> Cheers,
> Jes



reply via email to

[Prev in Thread] Current Thread [Next in Thread]