Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: memstick: ms_block: destroy io_queue workqueue on removal msb_init_disk() creates the per-card ordered workqueue msb->io_queue with alloc_ordered_workqueue(). It is torn down with destroy_workqueue() only on the init error path; msb_remove() never destroys it. msb_stop() merely flushes the queue, and neither msb_data_clear() nor put_disk() free it. As a result every card insert/remove cycle leaks the workqueue and its kworker, exhausting kernel memory over repeated cycles. Destroy the workqueue in msb_remove() after the disk has been removed and the queue drained.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 0ff795163f37109a134b5a421558530f8d091544; affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 19c3da6621a253f1f8b937ed91bc22330a930d9c; affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 9a2e7cdc0880e735aff0968ee402f2c92a992b9b; affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 6611f78ec3fd4b33a00bfda20725b254a22979f6; affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before f222bb8c30cf5699c560b29179ff2bddcac1f950; affected 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 90af7fde083e1b22c349c3a8b1626728e44e474c |
| Linux / Linux | affected 3.12; unaffected 0 before 3.12; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/0ff795163f37109a134b5a421558530f8d091544
- https://git.kernel.org/stable/c/19c3da6621a253f1f8b937ed91bc22330a930d9c
- https://git.kernel.org/stable/c/9a2e7cdc0880e735aff0968ee402f2c92a992b9b
- https://git.kernel.org/stable/c/6611f78ec3fd4b33a00bfda20725b254a22979f6
- https://git.kernel.org/stable/c/f222bb8c30cf5699c560b29179ff2bddcac1f950
- https://git.kernel.org/stable/c/90af7fde083e1b22c349c3a8b1626728e44e474c