Resolves: bz1097904
https://bugzilla.redhat.com/show_bug.cgi?id=1097904

This is back ported from upstream directly.

commit cef2ac3f6c8ab532e49cf69d05f540931ad8ee64
Author: HATAYAMA Daisuke <[email protected]>
Date:   Wed Jul 3 15:02:17 2013 -0700

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

Signed-off-by: Baoquan He <[email protected]>
---
 mm/vmalloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index a8b83c7..2ae8618 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -302,7 +302,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;
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to