Comment #1 on issue 20 by
tsy...@gmail.com: Test leak_check.kfree_rcu.01
freeze system
https://code.google.com/p/kedr/issues/detail?id=20
Actually, problem persists only on 3.11.10-25 kernel, which is
distro-specific.
Investigation shows that problem is in dump_trace() call inside call_rcu()
callback.
Simple module demonstrates same behaviour(freeze system while loading):
--
#include <linux/module.h>
#include <linux/rcupdate.h>
MODULE_AUTHOR("Tsyvarev Andrey");
MODULE_LICENSE("GPL");
struct my_struct
{
struct rcu_head rh;
} s;
int a;
void rcu_func(struct rcu_head* head)
{
dump_stack();
a = 1;
}
static int my_module_init(void)
{
call_rcu(&s.rh, rcu_func);
return 0;
}
static void my_module_exit(void)
{
rcu_barrier();
}
module_init(my_module_init);
module_exit(my_module_exit);
--