[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1437036437-25408-13-git-send-email-bhe@redhat.com>
Date: Thu, 16 Jul 2015 16:47:07 +0800
From: Baoquan He <bhe@...hat.com>
To: linux-kernel@...r.kernel.org, ncroxon@...hat.com,
dyoung@...hat.com, mhuang@...hat.com
Cc: Baoquan He <bhe@...hat.com>
Subject: [RHEL6.8 Patch 09/19] vmalloc: make find_vm_area check in range
Resolves: bz1097904
https://bugzilla.redhat.com/show_bug.cgi?id=1097904
This is back ported from upstream directly.
commit cef2ac3f6c8ab532e49cf69d05f540931ad8ee64
Author: HATAYAMA Daisuke <d.hatayama@...fujitsu.com>
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 <d.hatayama@...fujitsu.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
Cc: Vivek Goyal <vgoyal@...hat.com>
Cc: Atsushi Kumagai <kumagai-atsushi@....nes.nec.co.jp>
Cc: Lisa Mitchell <lisa.mitchell@...com>
Cc: Zhang Yanfei <zhangyanfei@...fujitsu.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org>
Signed-off-by: Baoquan He <bhe@...hat.com>
---
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists