CVE-2026-98227

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < 0ff795163f37109a134b5a421558530f8d091544affected
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < 19c3da6621a253f1f8b937ed91bc22330a930d9caffected
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < 9a2e7cdc0880e735aff0968ee402f2c92a992b9baffected
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < 6611f78ec3fd4b33a00bfda20725b254a22979f6affected
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < f222bb8c30cf5699c560b29179ff2bddcac1f950affected
LinuxLinux0ab30494bc4f3bc1ea4659b7c5d97c5218554a63 < 90af7fde083e1b22c349c3a8b1626728e44e474caffected
LinuxLinux3.12affected
LinuxLinux0 < 3.12unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References