aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/radix-tree/xarray.c
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2021-03-31 14:59:19 -0400
committerMatthew Wilcox (Oracle) <willy@infradead.org>2021-04-01 07:41:30 -0400
commit1bb4bd266cf39fd2fa711f2d265c558b92df1119 (patch)
tree9c38ae5cb23856d0efcef808ac667a41aedc14b5 /tools/testing/radix-tree/xarray.c
parentradix tree test suite: Fix compilation (diff)
downloadlinux-dev-1bb4bd266cf39fd2fa711f2d265c558b92df1119.tar.xz
linux-dev-1bb4bd266cf39fd2fa711f2d265c558b92df1119.zip
radix tree test suite: Register the main thread with the RCU library
Several test runners register individual worker threads with the RCU library, but neglect to register the main thread, which can lead to objects being freed while the main thread is in what appears to be an RCU critical section. Reported-by: Chris von Recklinghausen <crecklin@redhat.com> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to '')
-rw-r--r--tools/testing/radix-tree/xarray.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/testing/radix-tree/xarray.c b/tools/testing/radix-tree/xarray.c
index e61e43efe463..f20e12cbbfd4 100644
--- a/tools/testing/radix-tree/xarray.c
+++ b/tools/testing/radix-tree/xarray.c
@@ -25,11 +25,13 @@ void xarray_tests(void)
int __weak main(void)
{
+ rcu_register_thread();
radix_tree_init();
xarray_tests();
radix_tree_cpu_dead(1);
rcu_barrier();
if (nr_allocated)
printf("nr_allocated = %d\n", nr_allocated);
+ rcu_unregister_thread();
return 0;
}