On Thu, Mar 21, 2019 at 10:21:21PM -0500, Scott Wood wrote: > rcu_bh is disabled on PREEMPT_RT via a stub ops that has no name. Thus, > if a torture_type other than "rcu" is used, rcu_torture_init() will > pass NULL to strcmp() when iterating over torture_ops[], and oops. > > Signed-off-by: Scott Wood <swood@xxxxxxxxxx> This rcu_bh torture type is gone completely in mainline, however, I just yesterday queued a patch to fix some problems when an invalid torture_type was specified. Mainline 4.19 does have the .name element of rcu_bh_ops specified, though. Not sure what happened here, but you are absolutely correct that rcu_bh_ops does need a .name initializer. Thanx, Paul > --- > With this applied to 4.19.25-rt16 and specifying torture_type=sched, > similar rcutorture failures are seen as with 5.0.3-rt1 (in which standard > torture_cype=rcu no longer has .extendables=0 and thus stresses similar > paths). > > kernel/rcu/rcutorture.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c > index 7d2a615601e7..408d03048911 100644 > --- a/kernel/rcu/rcutorture.c > +++ b/kernel/rcu/rcutorture.c > @@ -479,6 +479,7 @@ static struct rcu_torture_ops rcu_bh_ops = { > #else > static struct rcu_torture_ops rcu_bh_ops = { > .ttype = INVALID_RCU_FLAVOR, > + .name = "rcu_bh" > }; > #endif > > -- > 2.18.1 >