linux/tools/testing/radix-tree
Matthew Wilcox bbe9d71f2c radix tree test suite: cache recently freed objects
The kmem_cache_alloc implementation simply allocates new memory from
malloc() and calls the ctor, which zeroes out the entire object.  This
means it cannot spot bugs where the object isn't properly reinitialised
before being freed.

Add a small (11 objects) cache before freeing objects back to malloc.
This is enough to let us write a test to catch it, although the memory
allocator is now aware of the structure of the radix tree node, since it
chains free objects through ->private_data (like the percpu cache does).

Link: http://lkml.kernel.org/r/1481667692-14500-2-git-send-email-mawilcox@linuxonhyperv.com
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-12-14 16:04:10 -08:00
..
generated radix-tree: add support for multi-order iterating 2016-05-20 17:58:30 -07:00
linux radix tree test suite: cache recently freed objects 2016-12-14 16:04:10 -08:00
.gitignore radix tree test harness 2016-03-17 15:09:34 -07:00
benchmark.c radix tree test suite: benchmark for iterator 2016-12-14 16:04:09 -08:00
iteration_check.c radix tree test suite: check multiorder iteration 2016-12-14 16:04:10 -08:00
linux.c radix tree test suite: cache recently freed objects 2016-12-14 16:04:10 -08:00
main.c radix tree test suite: check multiorder iteration 2016-12-14 16:04:10 -08:00
Makefile radix tree test suite: use common find-bit code 2016-12-14 16:04:10 -08:00
multiorder.c radix tree test suite: check multiorder iteration 2016-12-14 16:04:10 -08:00
rcupdate.c radix tree test harness 2016-03-17 15:09:34 -07:00
regression1.c radix-tree tests: properly initialize mutex 2016-10-11 15:06:30 -07:00
regression2.c radix-tree: delete radix_tree_range_tag_if_tagged() 2016-12-14 16:04:10 -08:00
regression3.c radix-tree: improve multiorder iterators 2016-12-14 16:04:10 -08:00
regression.h radix-tree tests: add regression3 test 2016-03-17 15:09:34 -07:00
tag_check.c radix-tree: delete radix_tree_range_tag_if_tagged() 2016-12-14 16:04:10 -08:00
test.c radix-tree: delete radix_tree_range_tag_if_tagged() 2016-12-14 16:04:10 -08:00
test.h radix tree test suite: check multiorder iteration 2016-12-14 16:04:10 -08:00