From e28280cd8820eb9a9c430f5687aad8000c051612 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Thu, 14 Mar 2019 12:53:16 -0400 Subject: [PATCH] test_maple_tree: Fix range checking. Checking a range was not using the correct number range. Signed-off-by: Liam R. Howlett --- lib/test_maple_tree.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 948e13c30fff..435625e2206a 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -73,7 +73,7 @@ static noinline void check_insert_range(struct maple_tree *mt, int ret = -EINVAL; unsigned long i; ret = mtree_test_insert_range(mt, start, end, ptr); - for (i = start; i >= end; i++) { + for (i = start; i <= end; i++) { check_load(mt, i, ptr); } MT_BUG_ON(mt, ret != 0); @@ -266,6 +266,37 @@ static noinline void check_mid_split(struct maple_tree *mt) check_insert(mt, 0, (void*) 0); check_lb_not_empty(mt); } + +static noinline void check_alloc_range(struct maple_tree *mt) +{ + // cat /proc/self/maps|awk '{print $1}'| awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}' + unsigned long range[] = { 0x565234af2000, 0x565234af4000, + 0x565234af4000, 0x565234af9000, 0x565234af9000, + 0x565234afb000, 0x565234afc000, 0x565234afd000, + 0x565234afd000, 0x565234afe000, 0x565235def000, + 0x565235e10000, 0x7f36d4bfd000, 0x7f36d4ee2000, + 0x7f36d4ee2000, 0x7f36d4f04000, 0x7f36d4f04000, + 0x7f36d504c000, 0x7f36d504c000, 0x7f36d5098000, + 0x7f36d5098000, 0x7f36d5099000, 0x7f36d5099000, + 0x7f36d509d000, 0x7f36d509d000, 0x7f36d509f000, + 0x7f36d509f000, 0x7f36d50a5000, 0x7f36d50b9000, + 0x7f36d50db000, 0x7f36d50db000, 0x7f36d50dc000, + 0x7f36d50dc000, 0x7f36d50fa000, 0x7f36d50fa000, + 0x7f36d5102000, 0x7f36d5102000, 0x7f36d5103000, + 0x7f36d5103000, 0x7f36d5104000, 0x7f36d5104000, + 0x7f36d5105000, 0x7fff5876b000, 0x7fff5878d000, + 0x7fff5878e000, 0x7fff58791000, 0x7fff58791000, + 0x7fff58793000,}; + int i, range_cnt = 48; + + for (i = 0; i < range_cnt/2; i+=2) { + check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1, + check_alloc_range); + } + + + mtree_destroy(mt); +} static DEFINE_MTREE(tree); static int maple_tree_seed(void) @@ -385,6 +416,7 @@ static int maple_tree_seed(void) check_insert(&tree, set[7], &tree); check_load(&tree, set[0], ptr); check_insert(&tree, set[8], ptr); + check_insert(&tree, set[9], &tree); check_load(&tree, set[0], ptr); -- 2.50.1