In the Linux kernel, the following vulnerability has been resolved:
dm-raid: Fix WARNONONCE check for syncthread in raidresume
rm-raid devices will occasionally trigger the following warning when being resumed after a table load because DMRECOVERYRUNNING is set:
WARNING: CPU: 7 PID: 5660 at drivers/md/dm-raid.c:4105 raidresume+0xee/0x100 [dmraid]
The failing check is: WARNONONCE(testbit(MDRECOVERY_RUNNING, &mddev->recovery));
This check is designed to make sure that the sync thread isn't registered, but mdcheckrecovery can set MDRECOVERYRUNNING without the syncthread ever getting registered. Instead of checking if MDRECOVERYRUNNING is set, check if syncthread is non-NULL.