In the Linux kernel, the following vulnerability has been resolved: md: Fix missing release of 'activeio' for flush submitflushes atomicset(&mddev->flushpending, 1); rdevforeachrcu(rdev, mddev) atomicinc(&mddev->flushpending); bi->biendio = mdendflush submitbio(bi); /* flush io is done first */ mdendflush if (atomicdecandtest(&mddev->flushpending)) percpurefput(&mddev->activeio) -> activeio is not released if (atomicdecandtest(&mddev->flushpending)) -> missing release of activeio For consequence, mddevsuspend() will wait for 'activeio' to be zero forever. Fix this problem by releasing 'activeio' in submitflushes() if 'flushpending' is decreased to zero.