diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c index 2d106dd4d9db332a45813a019b3d5556724bf72d..6859fb43fbd15484daddd85759b621e8cb448f02 100644 --- a/kernel/rcu/rcuperf.c +++ b/kernel/rcu/rcuperf.c @@ -567,6 +567,10 @@ rcu_perf_cleanup(void) if (torture_cleanup_begin()) return; + if (!cur_ops) { + torture_cleanup_end(); + return; + } if (reader_tasks) { for (i = 0; i < nrealreaders; i++) @@ -687,6 +691,7 @@ rcu_perf_init(void) pr_cont(" %s", perf_ops[i]->name); pr_cont("\n"); firsterr = -EINVAL; + cur_ops = NULL; goto unwind; } if (cur_ops->init)