In the Linux kernel, the following vulnerability has been resolved: md/raid10: fix null-ptr-deref in raid10syncrequest initresync() inits mempool and sets conf->havereplacemnt at the beginning of sync, closesync() frees the mempool when sync is completed. After [1] recovery might be skipped and initresync() is called but closesync() is not. null-ptr-deref occurs with r10bio->dev[i].replbio. The following is one way to reproduce the issue. 1) create a array, wait for resync to complete, mddev->recoverycp is set to MaxSector. 2) recovery is woken and it is skipped. conf->havereplacement is set to 0 in initresync(). closesync() not called. 3) some io errors and rdev A is set to WantReplacement. 4) a new device is added and set to A's replacement. 5) recovery is woken, A have replacement, but conf->havereplacemnt is 0. r10bio->dev[i].replbio will not be alloced and null-ptr-deref occurs. Fix it by not calling init_resync() if recovery skipped. [1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")