[PATCH] lib/genalloc.c: fix the end addr check in addr_in_gen_pool()

From: Toshi Kikuchi
Date: Thu Dec 18 2014 - 21:31:14 EST


Since chunk->end_addr is (chunk->start_addr + size - 1),
the end address to compare should be (start + size - 1).

Signed-off-by: Toshi Kikuchi <toshik@xxxxxxxxxxxx>
---
lib/genalloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/genalloc.c b/lib/genalloc.c
index 2e65d20..42a95e9 100644
--- a/lib/genalloc.c
+++ b/lib/genalloc.c
@@ -415,7 +415,7 @@ bool addr_in_gen_pool(struct gen_pool *pool, unsigned long start,
size_t size)
{
bool found = false;
- unsigned long end = start + size;
+ unsigned long end = start + size - 1;
struct gen_pool_chunk *chunk;

rcu_read_lock();
--
2.2.0.rc0.207.ga3a616c

--
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/