aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHATAYAMA Daisuke <[email protected]>2013-07-03 15:02:17 -0700
committerLinus Torvalds <[email protected]>2013-07-03 16:07:30 -0700
commitcef2ac3f6c8ab532e49cf69d05f540931ad8ee64 (patch)
treedce89fe59f0803b2eb32a1128993e87bb542c023
parent7f614cd1e052ebbddee7ea49c725dc75fee74a5a (diff)
vmalloc: make find_vm_area check in range
Currently, __find_vmap_area searches for the kernel VM area starting at a given address. This patch changes this behavior so that it searches for the kernel VM area to which the address belongs. This change is needed by remap_vmalloc_range_partial to be introduced in later patch that receives any position of kernel VM area as target address. This patch changes the condition (addr > va->va_start) to the equivalent (addr >= va->va_end) by taking advantage of the fact that each kernel VM area is non-overlapping. Signed-off-by: HATAYAMA Daisuke <[email protected]> Acked-by: KOSAKI Motohiro <[email protected]> Cc: Vivek Goyal <[email protected]> Cc: Atsushi Kumagai <[email protected]> Cc: Lisa Mitchell <[email protected]> Cc: Zhang Yanfei <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--mm/vmalloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d365724feb05..3875fa2f0f60 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -292,7 +292,7 @@ static struct vmap_area *__find_vmap_area(unsigned long addr)
va = rb_entry(n, struct vmap_area, rb_node);
if (addr < va->va_start)
n = n->rb_left;
- else if (addr > va->va_start)
+ else if (addr >= va->va_end)
n = n->rb_right;
else
return va;