linux-stable/kernel/rcu
Paul E. McKenney 506b28fb99 rcuperf: Fix cleanup path for invalid perf_type strings
[ Upstream commit ad092c0277 ]

If the specified rcuperf.perf_type is not in the rcu_perf_init()
function's perf_ops[] array, rcuperf prints some console messages and
then invokes rcu_perf_cleanup() to set state so that a future torture
test can run.  However, rcu_perf_cleanup() also attempts to end the
test that didn't actually start, and in doing so relies on the value
of cur_ops, a value that is not particularly relevant in this case.
This can result in confusing output or even follow-on failures due to
attempts to use facilities that have not been properly initialized.

This commit therefore sets the value of cur_ops to NULL in this case and
inserts a check near the beginning of rcu_perf_cleanup(), thus avoiding
relying on an irrelevant cur_ops value.

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:46:30 -07:00
..
Kconfig rcu: Drive TASKS_RCU directly off of PREEMPT 2017-08-17 07:26:04 -07:00
Kconfig.debug rcu: Move RCU debug Kconfig options to kernel/rcu 2017-06-08 18:52:44 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rcu.h Merge branches 'fixes1.2018.07.12b' and 'torture1.2018.07.12b' into HEAD 2018-07-12 15:42:41 -07:00
rcu_segcblist.c rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcu_segcblist.h rcu: Simplify and inline cpu_needs_another_gp() 2018-05-15 10:30:59 -07:00
rcuperf.c rcuperf: Fix cleanup path for invalid perf_type strings 2019-05-31 06:46:30 -07:00
rcutorture.c rcutorture: Fix cleanup path for invalid torture_type strings 2019-05-31 06:46:30 -07:00
srcutiny.c sched/swait: Rename to exclusive 2018-06-20 11:35:56 +02:00
srcutree.c srcu: Lock srcu_data structure in srcu_gp_start() 2019-01-13 09:51:06 +01:00
sync.c doc: Fix various RCU docbook comment-header problems 2017-10-19 22:26:11 -04:00
tiny.c rcu: Improve rcu_note_voluntary_context_switch() reporting 2018-07-12 15:39:12 -07:00
tree.c rcu: Do RCU GP kthread self-wakeup from softirq and interrupt 2019-03-23 20:10:12 +01:00
tree.h rcu: Remove unused rcu_kick_nohz_cpu() function 2018-07-12 15:39:17 -07:00
tree_exp.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-08-13 11:25:07 -07:00
tree_plugin.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-08-13 11:25:07 -07:00
update.c kprobes: Prohibit probing on RCU debug routine 2019-04-05 22:33:08 +02:00