WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-3.2-testing] x86 numa: Fix the overflow of physical

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.2-testing] x86 numa: Fix the overflow of physical addresses.
From: "Xen patchbot-3.2-testing" <patchbot-3.2-testing@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 20 Mar 2008 05:42:13 -0700
Delivery-date: Thu, 20 Mar 2008 05:49:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1206014852 0
# Node ID 7e88517401411cbf443350f4a0b8a83b4ebc9218
# Parent  e1f7a993fa696310a7dbd02f236cd6e89d94e2fa
x86 numa: Fix the overflow of physical addresses.

If memory address >4G, the address will overflow in some NUMA code if
using unsigned long to statement a physical address in PAE arch.

Replace "unsigned long" with paddr_t to avoid overflow.

Signed-off-by: Duan Ronghui <ronghui.duan@xxxxxxxxx>
xen-unstable changeset:   17201:f82baf1755ac6b4e1b77a35f160d26d30a094a1c
xen-unstable date:        Mon Mar 17 11:18:06 2008 +0000
---
 xen/arch/x86/numa.c        |    6 +++---
 xen/include/asm-x86/numa.h |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff -r e1f7a993fa69 -r 7e8851740141 xen/arch/x86/numa.c
--- a/xen/arch/x86/numa.c       Thu Mar 20 12:07:08 2008 +0000
+++ b/xen/arch/x86/numa.c       Thu Mar 20 12:07:32 2008 +0000
@@ -57,7 +57,7 @@ populate_memnodemap(const struct node *n
 {
        int i; 
        int res = -1;
-       unsigned long addr, end;
+       paddr_t addr, end;
 
        if (shift >= 64)
                return -1;
@@ -286,13 +286,13 @@ static void dump_numa(unsigned char key)
                  (u32)(now>>32), (u32)now);
 
        for_each_online_node(i) {
-               unsigned long pa = (NODE_DATA(i)->node_start_pfn + 1)<< 
PAGE_SHIFT;
+               paddr_t pa = (NODE_DATA(i)->node_start_pfn + 1)<< PAGE_SHIFT;
                printk("idx%d -> NODE%d start->%lu size->%lu\n",
                          i, NODE_DATA(i)->node_id,
                          NODE_DATA(i)->node_start_pfn,
                          NODE_DATA(i)->node_spanned_pages);
                /* sanity check phys_to_nid() */
-               printk("phys_to_nid(%lx) -> %d should be %d\n", pa, 
phys_to_nid(pa),
+               printk("phys_to_nid(%"PRIpaddr") -> %d should be %d\n", pa, 
phys_to_nid(pa),
                          NODE_DATA(i)->node_id);
        }
        for_each_online_cpu(i)
diff -r e1f7a993fa69 -r 7e8851740141 xen/include/asm-x86/numa.h
--- a/xen/include/asm-x86/numa.h        Thu Mar 20 12:07:08 2008 +0000
+++ b/xen/include/asm-x86/numa.h        Thu Mar 20 12:07:32 2008 +0000
@@ -52,7 +52,7 @@ struct node_data {
 
 extern struct node_data node_data[];
 
-static inline __attribute__((pure)) int phys_to_nid(unsigned long addr) 
+static inline __attribute__((pure)) int phys_to_nid(paddr_t addr) 
 { 
        unsigned nid; 
        VIRTUAL_BUG_ON((addr >> memnode_shift) >= NODEMAPSIZE);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.2-testing] x86 numa: Fix the overflow of physical addresses., Xen patchbot-3.2-testing <=