In the Linux kernel, the following vulnerability has been resolved:
scsi: lpfc: Fix listadd() corruption in lpfcdrain_txq()
When parsing the txq list in lpfcdraintxq(), the driver attempts to pass the requests to the adapter. If such an attempt fails, a local "fail_msg" string is set and a log message output. The job is then added to a completions list for cancellation.
Processing of any further jobs from the txq list continues, but since "fail_msg" remains set, jobs are added to the completions list regardless of whether a wqe was passed to the adapter. If successfully added to txcmplq, jobs are added to both lists resulting in list corruption.
Fix by clearing the fail_msg string after adding a job to the completions list. This stops the subsequent jobs from being added to the completions list unless they had an appropriate failure.
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47203.json"
[
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.4.293"
}
]
},
{
"events": [
{
"introduced": "4.5"
},
{
"fixed": "4.9.291"
}
]
},
{
"events": [
{
"introduced": "4.10"
},
{
"fixed": "4.14.256"
}
]
},
{
"events": [
{
"introduced": "4.15"
},
{
"fixed": "4.19.218"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.162"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.82"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.5"
}
]
}
]