[IA64] align pages in assign_domain_same_page()
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 9 Jun 2006 16:35:36 +0000 (10:35 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Fri, 9 Jun 2006 16:35:36 +0000 (10:35 -0600)
Fix a bug. potential miss of page assignment for domain.
If mpaddr and size are not aligned well, the last page might be not
assigned for the domain.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
xen/arch/ia64/xen/mm.c

index 7cd2a0b544fb0f0d98c6ff4b83a25f9fd8b1c186..7b6135ca237ab771e9b3ee07aa6bbf03a364640d 100644 (file)
@@ -658,8 +658,8 @@ assign_domain_same_page(struct domain *d,
                         unsigned long flags)
 {
     //XXX optimization
-    unsigned long end = mpaddr + size;
-    for (; mpaddr < end; mpaddr += PAGE_SIZE) {
+    unsigned long end = PAGE_ALIGN(mpaddr + size);
+    for (mpaddr &= PAGE_MASK; mpaddr < end; mpaddr += PAGE_SIZE) {
         __assign_domain_page(d, mpaddr, mpaddr, flags);
     }
 }