Commit 1bb4bd26 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle)
Browse files

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: default avatarChris von Recklinghausen <crecklin@redhat.com>
Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
parent 7487de53
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -577,6 +577,7 @@ void ida_tests(void)

int __weak main(void)
{
	rcu_register_thread();
	radix_tree_init();
	idr_checks();
	ida_tests();
@@ -584,5 +585,6 @@ int __weak main(void)
	rcu_barrier();
	if (nr_allocated)
		printf("nr_allocated = %d\n", nr_allocated);
	rcu_unregister_thread();
	return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -224,7 +224,9 @@ void multiorder_checks(void)

int __weak main(void)
{
	rcu_register_thread();
	radix_tree_init();
	multiorder_checks();
	rcu_unregister_thread();
	return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -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;
}