lkml.org 
[lkml]   [2011]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH x86-mm] x86-64, NUMA: Fix size of numa_distance array
    From 1f565a896ee139a70e1a16f74a4ec29707691b0b Mon Sep 17 00:00:00 2001
    From: David Rientjes <rientjes@google.com>
    Date: Fri, 25 Feb 2011 10:06:39 +0100

    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>
    ---
    Applied with cnt++ added as Yinghai pointed out. Thanks.

    arch/x86/mm/numa_64.c | 3 ++-
    1 files changed, 2 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
    index cccc01d..7757d22 100644
    --- a/arch/x86/mm/numa_64.c
    +++ b/arch/x86/mm/numa_64.c
    @@ -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);
    --
    1.7.1


    \
     
     \ /
      Last update: 2011-02-25 10:15    [W:0.026 / U:31.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site