diff options
author | Milton Miller <miltonm@bga.com> | 2009-01-07 21:19:43 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-10 21:37:58 -0500 |
commit | 20fcefe5a0a354b0cc78ec4634d9f72dab5f1ee9 (patch) | |
tree | 4ee7d4097a4e88f885cdae12748bb31779e25e5b /arch/powerpc/mm/numa.c | |
parent | 6a4d7a90fc452171eabb4b5b23ab780451ae7f5b (diff) |
powerpc/numa: Avoid possible reference beyond prop. length in find_min_common_depth()
find_min_common_depth() was checking the property length incorrectly.
The value is in bytes not cells, and it is using the second entry.
Signed-off-By: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/mm/numa.c')
-rw-r--r-- | arch/powerpc/mm/numa.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 7393bd76d698..e26d5e5c22be 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -289,7 +289,7 @@ static int __init find_min_common_depth(void) | |||
289 | ref_points = of_get_property(rtas_root, | 289 | ref_points = of_get_property(rtas_root, |
290 | "ibm,associativity-reference-points", &len); | 290 | "ibm,associativity-reference-points", &len); |
291 | 291 | ||
292 | if ((len >= 1) && ref_points) { | 292 | if ((len >= 2 * sizeof(unsigned int)) && ref_points) { |
293 | depth = ref_points[1]; | 293 | depth = ref_points[1]; |
294 | } else { | 294 | } else { |
295 | dbg("NUMA: ibm,associativity-reference-points not found.\n"); | 295 | dbg("NUMA: ibm,associativity-reference-points not found.\n"); |