]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
test_maple_tree: Add fuzzer test 1
authorLiam R. Howlett <Liam.Howlett@oracle.com>
Wed, 2 Mar 2022 02:35:52 +0000 (21:35 -0500)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 8 Mar 2022 18:19:15 +0000 (13:19 -0500)
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
lib/test_maple_tree.c

index fc11c183208fbe9271bc38845bad4e9b3d119c10..c2ffc360b82270c406f3ebc3d011ac715d000fe2 100644 (file)
@@ -37118,6 +37118,24 @@ static noinline void check_spanning_relatives(struct maple_tree *mt)
        mtree_store_range(mt, 9365, 9955, NULL, GFP_KERNEL);
 }
 
+static noinline void check_fuzzer(struct maple_tree *mt)
+{
+       /*
+        * 1. Causes a spanning rebalance of a single root node.
+        * Fixed by setting the correct limit in mast_cp_to_nodes() when the
+        * entire right side is consumed.
+        */
+       mtree_insert(mt, 88, (void*)0xb1, GFP_KERNEL); // 0
+       mtree_insert(mt, 84, (void*)0xa9, GFP_KERNEL); // 0
+       mtree_insert(mt, 2,  (void*)0x5, GFP_KERNEL); // 0
+       mtree_insert(mt, 4,  (void*)0x9, GFP_KERNEL); // 0
+       mtree_insert(mt, 14, (void*)0x1d, GFP_KERNEL); // 0
+       mtree_insert(mt, 7,  (void*)0xf, GFP_KERNEL); // 0
+       mtree_insert(mt, 12, (void*)0x19, GFP_KERNEL); // 0
+       mtree_insert(mt, 18, (void*)0x25, GFP_KERNEL); // 0
+       mtree_store_range(mt, 8, 18, (void*)0x11, GFP_KERNEL);
+}
+
 static DEFINE_MTREE(tree);
 static int maple_tree_seed(void)
 {
@@ -37378,6 +37396,10 @@ static int maple_tree_seed(void)
        check_rev_find(&tree);
        mtree_destroy(&tree);
 
+       mt_init_flags(&tree, 0);
+       check_fuzzer(&tree);
+       mtree_destroy(&tree);
+
 
 #if defined(BENCH)
 skip: