From: Liam R. Howlett Date: Thu, 3 Mar 2022 03:23:17 +0000 (-0500) Subject: test_maple_tree: Add test 4 for spanning store faiure. X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=41af3dc74dd421db15a55bb5b0285b22733787fe;p=users%2Fjedix%2Flinux-maple.git test_maple_tree: Add test 4 for spanning store faiure. Signed-off-by: Liam R. Howlett --- diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index 0bfa8c0894f9..6dc262b3dfea 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -37188,6 +37188,31 @@ static noinline void check_fuzzer(struct maple_tree *mt) mtree_test_load(mt, 0); // 0x1 mtree_test_store(mt, 5, (void*)0xb); // 0 mtree_test_erase(mt, 0); + mtree_destroy(mt); + + /* + * 4. spanning store failure due to writing incorrect pivot value at + * last slot. + * Fixed by setting mast->r->max correctly in mast_cp_to_nodes() + * + */ + mt_init_flags(mt, 0); + mtree_test_insert(mt, 261, (void*)0x20b); // 0 + mtree_test_store(mt , 516, (void*)0x409); // 0 + mtree_test_store(mt , 6, (void*)0xd); // 0 + mtree_test_insert(mt, 5, (void*)0xb); // 0 + mtree_test_insert(mt, 1256, (void*)0x9d1); // 0 + mtree_test_store(mt , 4, (void*)0x9); // 0 + mtree_test_erase(mt, 1); // (nil) + mtree_test_store(mt , 56, (void*)0x71); // 0 + mtree_test_insert(mt, 1, (void*)0x3); // 0 + mtree_test_store(mt , 24, (void*)0x31); // 0 + mtree_test_erase(mt, 1); // (nil) + mtree_test_insert(mt, 2263, (void*)0x11af); // 0 + mtree_test_insert(mt, 446, (void*)0x37d); // 0 + mtree_test_store_range(mt, 6, 45, (void*)0xd); // 0 + mtree_test_store_range(mt, 3, 446, (void*)0x7); // 0 + } static DEFINE_MTREE(tree);