[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] wrong accounting in direct_remap_pfn_range
I think you're confused. The only time we execute the test-and-fixup code is if we exit the for loop in the normal way. All exceptional exits from the loop are done by 'goto out', which skips the test-and-fixup code. So we can only reach the test-and-fixup code after executing a whole number of iterations of the for loop, so I don't think that there is a problem. -- Keir On 29/8/06 7:22 pm, "Steven Rostedt" <srostedt@xxxxxxxxxx> wrote: >> There is a check if (v != u) then do some more work. I'm assuming that >> this code is there in case we didn't reach the if statement at the top >> of the loop. But what is wrong is that this check is invalid. Although >> the loop if statement sets v = u, the following if statement ignores the >> fact that v++ is done at the bottom of the loop. So if we really want >> to do this extra work if we didn't finish the loop, then the test really >> needs to be. >> >> if ((v - u) != 1) { .... } >> >> >> Unless I'm missing something here, I've attached a patch. >> > > I did miss something. The fact that the loop may only go once. This > means that v - u will equal 1 and we miss that allocation. So to handle > this, I'm submitting this patch that just keeps track of whether or > not we need to do the final fixup. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |