[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4.1-testing] x86/mm: Fix loop increment in paging_log_dirty_range()
On Thu, 2013-01-17 at 11:30 +0000, Tim Deegan wrote: > # HG changeset patch > # User Tim Deegan <tim@xxxxxxx> > # Date 1358421452 0 > # Node ID 04368044ca5fb9800bfdacf14e883d39cad5c8a6 > # Parent 8fe0e86c2ac27e22121aa9c70ddf5eacbb3051d0 > x86/mm: Fix loop increment in paging_log_dirty_range() > > In 23417:53ef1f35a0f8 (the fix for XSA-27 / CVE-2012-5511), the > loop variable gets incremented twice, so the loop only clears every > second page of the bitmap. This might cause the tools to think that > pages are dirty when they are not. > > Reported-by: Steven Noonan <snoonan@xxxxxxxxxx> > Reported-by: Matt Wilson <msw@xxxxxxxxxx> > Signed-off-by: Tim Deegan <tim@xxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > diff -r 8fe0e86c2ac2 -r 04368044ca5f xen/arch/x86/mm/paging.c > --- a/xen/arch/x86/mm/paging.c Wed Jan 16 14:15:12 2013 +0000 > +++ b/xen/arch/x86/mm/paging.c Thu Jan 17 11:17:32 2013 +0000 > @@ -534,7 +534,8 @@ int paging_log_dirty_range(struct domain > > size = ((nr + BITS_PER_LONG - 1) / BITS_PER_LONG) * sizeof (long); > rv = 0; > - for ( off = 0; !rv && off < size; off += sizeof zeroes ) > + off = 0; > + while ( !rv && off < size ) > { > int todo = min(size - off, (int) PAGE_SIZE); > if ( copy_to_guest_offset(dirty_bitmap, off, zeroes, todo) ) > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |