In the Linux kernel, the following vulnerability has been resolved:
md: Fix missing release of 'active_io' 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) -> active_io is not released
if (atomicdecandtest(&mddev->flushpending)) -> missing release of active_io
For consequence, mddevsuspend() will wait for 'activeio' to be zero forever.
Fix this problem by releasing 'activeio' in submitflushes() if 'flush_pending' is decreased to zero.
[
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"44606919034761990457927544583031070689",
"115396081585269589644595353985063688577",
"294039982810670788420433012617993611282",
"15923521732393378834701026608222779599",
"110359776292670056942190127525199154731"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b2ff10390b19a2364af622b6666b690443f9f3f",
"target": {
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-3c3054a7",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 801.0,
"function_hash": "185414758039856867247992610183758087112"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b2ff10390b19a2364af622b6666b690443f9f3f",
"target": {
"function": "submit_flushes",
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-3ef458fc",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"44606919034761990457927544583031070689",
"115396081585269589644595353985063688577",
"294039982810670788420433012617993611282",
"15923521732393378834701026608222779599",
"110359776292670056942190127525199154731"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11f81438927f84edfaaeb5d5f10856c3a1c1fc82",
"target": {
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-5f0c7914",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"44606919034761990457927544583031070689",
"115396081585269589644595353985063688577",
"294039982810670788420433012617993611282",
"15923521732393378834701026608222779599",
"110359776292670056942190127525199154731"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02dad157ba11064d073f5499dc33552b227d5d3a",
"target": {
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-641aec75",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 801.0,
"function_hash": "185414758039856867247992610183758087112"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02dad157ba11064d073f5499dc33552b227d5d3a",
"target": {
"function": "submit_flushes",
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-74659141",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"44606919034761990457927544583031070689",
"115396081585269589644595353985063688577",
"294039982810670788420433012617993611282",
"15923521732393378834701026608222779599",
"110359776292670056942190127525199154731"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@855678ed8534518e2b428bcbcec695de9ba248e8",
"target": {
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-7541b07e",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 801.0,
"function_hash": "185414758039856867247992610183758087112"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11f81438927f84edfaaeb5d5f10856c3a1c1fc82",
"target": {
"function": "submit_flushes",
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-a43f8462",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 801.0,
"function_hash": "185414758039856867247992610183758087112"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@855678ed8534518e2b428bcbcec695de9ba248e8",
"target": {
"function": "submit_flushes",
"file": "drivers/md/md.c"
},
"id": "CVE-2024-27023-cdfeceee",
"signature_version": "v1",
"deprecated": false
}
]