]> xenbits.xensource.com Git - xen.git/commitdiff
x86: make pxm_to_node() return sane values when disabling NUMA internally
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 26 Apr 2010 11:11:30 +0000 (12:11 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 26 Apr 2010 11:11:30 +0000 (12:11 +0100)
Otherwise, pass-through code may call memory allocation functions with
invalid node IDs, causing the allocations to fail.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/srat.c

index b89c58805e0802e8baae1727df6bf76b54e9f6cb..5caeb6a6834a57126e889a4d6c9cad106fb4c747 100644 (file)
@@ -25,7 +25,7 @@ static struct acpi_table_slit *__read_mostly acpi_slit;
 static nodemask_t nodes_parsed __initdata;
 static nodemask_t nodes_found __initdata;
 static struct node nodes[MAX_NUMNODES] __initdata;
-static u8 __read_mostly pxm2node[256] = { [0 ... 255] = 0xff };
+static u8 __read_mostly pxm2node[256] = { [0 ... 255] = NUMA_NO_NODE };
 
 
 static int num_node_memblks;
@@ -112,6 +112,8 @@ static __init void bad_srat(void)
        acpi_numa = -1;
        for (i = 0; i < MAX_LOCAL_APIC; i++)
                apicid_to_node[i] = NUMA_NO_NODE;
+       for (i = 0; i < ARRAY_SIZE(pxm2node); i++)
+               pxm2node[i] = NUMA_NO_NODE;
 }
 
 #ifdef CONFIG_X86_64