Linux: memstick: ms_block: destroy io_queue workqueue on removal
What fixes it
- 0ff795163f37109a134b5a421558530f8d091544LinuxCVE List
- 19c3da6621a253f1f8b937ed91bc22330a930d9cLinuxCVE List
- 9a2e7cdc0880e735aff0968ee402f2c92a992b9bLinuxCVE List
- 6611f78ec3fd4b33a00bfda20725b254a22979f6LinuxCVE List
- 90af7fde083e1b22c349c3a8b1626728e44e474cLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 14
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 0ff795163f37109a134b5a421558530f8d091544CVE List
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 19c3da6621a253f1f8b937ed91bc22330a930d9cCVE List
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 9a2e7cdc0880e735aff0968ee402f2c92a992b9bCVE List
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 6611f78ec3fd4b33a00bfda20725b254a22979f6CVE List
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before f222bb8c30cf5699c560b29179ff2bddcac1f950CVE List
- Linuxaffected: 0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 before 90af7fde083e1b22c349c3a8b1626728e44e474cCVE List
- Linuxaffected: 3.12CVE List
- Linuxunaffected: all versions before 3.12CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.54 through 6.18.*CVE List
- Linuxunaffected: 7.2.8 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 6
- git.kernel.org/stable/c/0ff795163f37109a134b5a421558530f8d091544Referencevia CVE List
- git.kernel.org/stable/c/19c3da6621a253f1f8b937ed91bc22330a930d9cReferencevia CVE List
- git.kernel.org/stable/c/9a2e7cdc0880e735aff0968ee402f2c92a992b9bReferencevia CVE List
- git.kernel.org/stable/c/6611f78ec3fd4b33a00bfda20725b254a22979f6Referencevia CVE List
- git.kernel.org/stable/c/f222bb8c30cf5699c560b29179ff2bddcac1f950Referencevia CVE List
- git.kernel.org/stable/c/90af7fde083e1b22c349c3a8b1626728e44e474cReferencevia CVE List