Re: [PATCH] x86: Fix calculation of size of numa_distance

From: Ingo Molnar
Date: Fri Feb 25 2011 - 10:03:51 EST



* Jack Steiner <steiner@xxxxxxx> wrote:

> Fix the calculation of the size of numa_distance array. It is 2-dimemsional
> array. This fixes early panics seen on large numa systems.
>
> Signed-off-by: Jack Steiner <steiner@xxxxxxx>
>
> Index: linux/arch/x86/mm/numa_64.c
> ===================================================================
> --- linux.orig/arch/x86/mm/numa_64.c 2011-02-23 17:46:38.000000000 -0600
> +++ linux/arch/x86/mm/numa_64.c 2011-02-25 08:53:45.781921592 -0600
> @@ -414,7 +414,8 @@ static int __init numa_alloc_distance(vo
>
> for_each_node_mask(i, nodes_parsed)
> cnt = i;
> - size = ++cnt * sizeof(numa_distance[0]);
> + cnt++;
> + size = cnt * cnt * sizeof(numa_distance[0]);
>
> phys = memblock_find_in_range(0, (u64)max_pfn_mapped << PAGE_SHIFT,
> size, PAGE_SIZE);

Tejun has queued up a fix for this already. Tejun, mind sending the fix to me ASAP?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/