Patchwork memblock: Fix memblock_is_region_reserved() to return a boolean

login
register
mail settings
Submitter Benjamin Herrenschmidt
Date Aug. 4, 2010, 4:19 a.m.
Message ID <1280895571.1902.140.camel@pasglop>
Download mbox | patch
Permalink /patch/60820/
State Accepted
Headers show

Comments

Benjamin Herrenschmidt - Aug. 4, 2010, 4:19 a.m.
All callers expect a boolean result which is true if the region
overlaps a reserved region. However, the implementation actually
returns -1 if there is no overlap, and a region index (0 based)
if there is.

Make it behave as callers (and common sense) expect.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Taking that out of my memblock rework branch as it should go in
now regardless of whether my stuff goes or not (which is still
under discussion, I'm fixing ARM up now).

I'll send this fix to Linus tomorrow along with powerpc.git if there
is no adverse comment.

Patch

diff --git a/mm/memblock.c b/mm/memblock.c
index 3024eb3..43840b3 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -504,7 +504,7 @@  int __init memblock_is_reserved(u64 addr)
 
 int memblock_is_region_reserved(u64 base, u64 size)
 {
-	return memblock_overlaps_region(&memblock.reserved, base, size);
+	return memblock_overlaps_region(&memblock.reserved, base, size) >= 0;
 }
 
 /*