[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 5] xentrace: fix t_info_pages calculation for the default case
>>> On 22.03.11 at 20:21, Olaf Hering <olaf@xxxxxxxxx> wrote: > # HG changeset patch > # User Olaf Hering <olaf@xxxxxxxxx> > # Date 1300813685 -3600 > # Node ID 08df96398bff82a8924a37eda6ddffd1ada3f407 > # Parent c81f0ef5a77d90fbf108d3efe489d08df45b63c2 > xentrace: fix t_info_pages calculation for the default case > > The default tracebuffer size of 32 pages was not tested with the previous > patch. > As a result, t_info_pages will become zero and alloc_xenheap_pages() fails. > Catch this case and allocate at least one page. > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> > > diff -r c81f0ef5a77d -r 08df96398bff xen/common/trace.c > --- a/xen/common/trace.c Mon Mar 21 14:52:27 2011 +0000 > +++ b/xen/common/trace.c Tue Mar 22 18:08:05 2011 +0100 > @@ -125,7 +125,7 @@ > t_info_pages = num_online_cpus() * pages + t_info_first_offset; > t_info_pages *= sizeof(uint32_t); > t_info_pages /= PAGE_SIZE; > - if ( t_info_pages % PAGE_SIZE ) > + if ( t_info_pages % PAGE_SIZE || t_info_pages == 0 ) While certainly not having a significant effect, to the unsuspecting reader this looks like a bug - is it really meant to be a remainder operation on the *result* of a division (rather than on the original dividend)? Couldn't you just (ab)use PFN_UP() here? Jan > t_info_pages++; > return pages; > } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |