CVE-2022-50554

Source
https://cve.org/CVERecord?id=CVE-2022-50554
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50554.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-50554
Downstream
Published
2025-10-07T15:21:15.438Z
Modified
2026-03-20T11:47:31.441319Z
Summary
blk-mq: avoid double ->queue_rq() because of early timeout
Details

In the Linux kernel, the following vulnerability has been resolved:

blk-mq: avoid double ->queue_rq() because of early timeout

David Jeffery found one double ->queuerq() issue, so far it can be triggered in VM use case because of long vmexit latency or preempt latency of vCPU pthread or long page fault in vCPU pthread, then block IO req could be timed out before queuing the request to hardware but after calling blkmqstartrequest() during ->queuerq(), then timeout handler may handle it by requeue, then double ->queuerq() is caused, and kernel panic.

So far, it is driver's responsibility to cover the race between timeout and completion, so it seems supposed to be solved in driver in theory, given driver has enough knowledge.

But it is really one common problem, lots of driver could have similar issue, and could be hard to fix all affected drivers, even it isn't easy for driver to handle the race. So David suggests this patch by draining in-progress ->queue_rq() for solving this issue.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50554.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
12f5b93145450c750f315657ef239a314811aeeb
Fixed
7a73c54a3750895888ab586896736c9434e062a1
Fixed
8b3d6b029a552d2978bbac275303d11419826a69
Fixed
82c229476b8f6afd7e09bc4dc77d89dc19ff7688

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50554.json"