Skip to content

Commit

Permalink
x86-64, NUMA: Fix size of numa_distance array
Browse files Browse the repository at this point in the history
numa_distance should be sized like the SLIT, an NxN matrix where N is
the highest node id + 1.  This patch fixes the calculation to avoid
overflowing the array on the subsequent iteration.

-tj: The original patch used last index to calculate size.  Yinghai
     pointed out it should be incremented so it is the number of
     elements instead of the last index to calculate the size of the
     table.  Updated accordingly.

Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
  • Loading branch information
David Rientjes authored and Tejun Heo committed Feb 25, 2011
1 parent d1b1942 commit 1f565a8
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion arch/x86/mm/numa_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,8 @@ static int __init numa_alloc_distance(void)

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);
Expand Down

0 comments on commit 1f565a8

Please sign in to comment.