|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [PATCH] fix allocation bug in xen console
summary: fixes allocation error for xen console area
details: previous code worked correctly only if the allocated structure fitted
in same page as the base address. If the allocated structure did not fit, the
computation for the allocation was incorrect.
Signed-of-by: Maria Butrico <butrico@xxxxxxxxxxxxxx>
--- a/xen/arch/powerpc/of_handler/xencomm.c Tue Sep 05 15:25:06 2006 -0400
+++ b/xen/arch/powerpc/of_handler/xencomm.c Fri Sep 08 08:38:06 2006 -0400
@@ -50,18 +50,18 @@ static void *__xencomm_alloc_mini(void *
static void *__xencomm_alloc_mini(void *area, int arealen)
{
unsigned long base = (unsigned long)area;
- unsigned int pageoffset;
+ unsigned int left_in_page;
- pageoffset = base % PAGE_SIZE;
+ left_in_page = PAGE_SIZE - base % PAGE_SIZE;
/* we probably fit right at the front of area */
- if ((PAGE_SIZE - pageoffset) >= sizeof(struct xencomm_mini)) {
+ if (left_in_page >= sizeof(struct xencomm_mini)) {
return area;
}
/* if not, see if area is big enough to advance to the next page */
- if ((arealen - pageoffset) >= sizeof(struct xencomm_mini))
- return (void *)(base + pageoffset);
+ if ((arealen - left_in_page) >= sizeof(struct xencomm_mini))
+ return (void *)(base + left_in_page);
/* area was too small */
return NULL;
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [XenPPC] [PATCH] fix allocation bug in xen console,
Maria Butrico <=
|
|
|
|
|