Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: blk-mq: set RQF_USE_SCHED when the operation is known The cached requests are allocated for one operation but can be handed out for another. A passthrough command has RQF_USE_SCHED cleared, so using those flags for a subsequent read/write bio will insert it into the scheduler without ->prepare_request() and frees it without ->finish_request(). For kyber, this leaks the domain token acquired at dispatch and stalls the queue. Don't set RQF_USE_SCHED based on the first operation the batch happened to be allocated for. Instead, set it after the request is claimed by an operation. Introduce a helper function, blk_mq_rq_late_init() for this, and absorb blk_mq_rq_time_init() since the two run together.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4b6a5d9cea911424e84107df8c4eb8317938d2cd before 790730e4d95de8356a573d4b4864486bba731863; affected 4b6a5d9cea911424e84107df8c4eb8317938d2cd before 2c47ebc27fa72078e26177cd458cdaf3006a9685; affected 4b6a5d9cea911424e84107df8c4eb8317938d2cd before ab6c756f28c741d704a7c3e04814bfc3adf6f818 |
| Linux / Linux | affected 6.1; unaffected 0 before 6.1; unaffected 6.18.56 through 6.18.*; unaffected 7.2.10 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.