Commit cef2ac3f authored by HATAYAMA Daisuke's avatar HATAYAMA Daisuke Committed by Linus Torvalds

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: default avatarHATAYAMA Daisuke <>
Acked-by: default avatarKOSAKI Motohiro <>
Cc: Vivek Goyal <>
Cc: Atsushi Kumagai <>
Cc: Lisa Mitchell <>
Cc: Zhang Yanfei <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 7f614cd1
......@@ -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;
return va;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment