diff options
author | HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com> | 2013-07-03 18:02:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:30 -0400 |
commit | cef2ac3f6c8ab532e49cf69d05f540931ad8ee64 (patch) | |
tree | dce89fe59f0803b2eb32a1128993e87bb542c023 /mm | |
parent | 7f614cd1e052ebbddee7ea49c725dc75fee74a5a (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 <d.hatayama@jp.fujitsu.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Cc: Lisa Mitchell <lisa.mitchell@hp.com>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmalloc.c | 2 |
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) | |||
292 | va = rb_entry(n, struct vmap_area, rb_node); | 292 | va = rb_entry(n, struct vmap_area, rb_node); |
293 | if (addr < va->va_start) | 293 | if (addr < va->va_start) |
294 | n = n->rb_left; | 294 | n = n->rb_left; |
295 | else if (addr > va->va_start) | 295 | else if (addr >= va->va_end) |
296 | n = n->rb_right; | 296 | n = n->rb_right; |
297 | else | 297 | else |
298 | return va; | 298 | return va; |