Comment 11 for bug 1821259

Verification done on xenial-proposed.
The testcase cannot hang the system, repeated 10 times.

4.4.0-145-generic

$ sudo insmod kmod-stopper.ko
[ 324.201942] kmod_stopper: loading out-of-tree module taints kernel.
[ 324.205604] kmod_stopper: module verification failed: signature and/or required key missing - tainting kernel
[ 324.213641] mod_init() :: this cpu = 0x2, that cpu = 0x3
[ 324.214802] mod_init() :: that_cpu_stopper_task = ffff88013a97b300, comm = migration/3
[ 324.224825] kp2/stop_two_cpus() :: this cpu = 0x2, that cpu = 0x3
[ 324.224834] do_nothing() :: this cpu = 0x3, that cpu = 0x2
[ 324.224839] kp1/pick_next_task_fair() :: this cpu = 0x3, that cpu = 0x2
[ 324.224841] kp1/pick_next_task_fair() :: before spin (1000 msecs)
[ 324.230226] kp2/stop_two_cpus() :: before spin (500 msecs)
[ 324.727963] kp2/stop_two_cpus() :: after spin (500 msecs)
[ 325.217499] kp1/pick_next_task_fair() :: after spin (1000 msecs)
[ 325.218596] kp1/pick_next_task_fair() :: stopping other cpu...
<hangs>

4.4.0-146-generic

$ sudo insmod kmod-stopper.ko
[ 512.306797] mod_init() :: this cpu = 0x0, that cpu = 0x1
[ 512.308267] mod_init() :: that_cpu_stopper_task = ffff88013a913300, comm = migration/1
[ 512.318288] kp2/stop_two_cpus() :: this cpu = 0x0, that cpu = 0x1
[ 512.318298] do_nothing() :: this cpu = 0x1, that cpu = 0x0
[ 512.318335] kp1/pick_next_task_fair() :: this cpu = 0x1, that cpu = 0x0
[ 512.318337] kp1/pick_next_task_fair() :: before spin (1000 msecs)
[ 512.325303] kp2/stop_two_cpus() :: before spin (500 msecs)
[ 512.823132] kp2/stop_two_cpus() :: after spin (500 msecs)
[ 513.312125] kp1/pick_next_task_fair() :: after spin (1000 msecs)
[ 513.313440] kp1/pick_next_task_fair() :: stopping other cpu...
[ 513.314708] do_nothing() :: this cpu = 0x0, that cpu = 0x1
[ 513.315908] do_nothing() :: this cpu = 0x0, that cpu = 0x1