torture: Address race in module cleanup
When performing module cleanups by calling torture_cleanup() the 'torture_type' string in nullified However, callers are not necessarily done, and might still need to reference the variable. This impacts both rcutorture and locktorture, causing printing things like: [ 94.226618] (null)-torture: Stopping lock_torture_writer task [ 94.226624] (null)-torture: Stopping lock_torture_stats task Thus delay this operation until the very end of the cleanup process. The consequence (which shouldn't matter for this kid of program) is, of course, that we delay the window between rmmod and modprobing, for instance in module_torture_begin(). Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
committed by
Paul E. McKenney
parent
1e6757a921
commit
d36a7a0d5e
@@ -361,7 +361,7 @@ static void lock_torture_cleanup(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (torture_cleanup())
|
||||
if (torture_cleanup_begin())
|
||||
return;
|
||||
|
||||
if (writer_tasks) {
|
||||
@@ -384,6 +384,7 @@ static void lock_torture_cleanup(void)
|
||||
else
|
||||
lock_torture_print_module_parms(cur_ops,
|
||||
"End of test: SUCCESS");
|
||||
torture_cleanup_end();
|
||||
}
|
||||
|
||||
static int __init lock_torture_init(void)
|
||||
|
||||
Reference in New Issue
Block a user