From efaca454ab76878603ed9c2ce61b94e9bba0fe35 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 26 Apr 2010 12:11:30 +0100 Subject: [PATCH] x86: make pxm_to_node() return sane values when disabling NUMA internally Otherwise, pass-through code may call memory allocation functions with invalid node IDs, causing the allocations to fail. Signed-off-by: Jan Beulich --- xen/arch/x86/srat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c index b89c58805e..5caeb6a683 100644 --- a/xen/arch/x86/srat.c +++ b/xen/arch/x86/srat.c @@ -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 -- 2.30.2