From: Paul E. McKenney Date: Mon, 31 Aug 2015 03:01:48 +0000 (-0700) Subject: locktorture: Fix module unwind when bad torture_type specified X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a36a99618b1adb2d6ca0b7e08e3a656a04e477fe;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git locktorture: Fix module unwind when bad torture_type specified The locktorture module has a list of torture types, and specifying a type not on this list is supposed to cleanly fail the module load. Unfortunately, the "fail" happens without the "cleanly". This commit therefore adds the needed clean-up after an incorrect torture_type. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett --- diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index 32244186f1f2..820852f69858 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -661,11 +661,11 @@ static int __init lock_torture_init(void) for (i = 0; i < ARRAY_SIZE(torture_ops); i++) pr_alert(" %s", torture_ops[i]->name); pr_alert("\n"); - torture_init_end(); - return -EINVAL; + firsterr = -EINVAL; + goto unwind; } if (cxt.cur_ops->init) - cxt.cur_ops->init(); /* no "goto unwind" prior to this point!!! */ + cxt.cur_ops->init(); if (nwriters_stress >= 0) cxt.nrealwriters_stress = nwriters_stress;