Description
In the Linux kernel, the following vulnerability has been resolved: USB: ldusb: fix use-after-free on disconnect race mutex_unlock() may access the mutex structure after releasing the lock and therefore cannot be used to manage lifetime of objects directly (unlike spinlocks and refcounts). [1][2] Use a kref to release the driver data to avoid use-after-free in mutex_unlock() when release() races with disconnect(). [1] a51749ab34d9 ("locking/mutex: Document that mutex_unlock() is non-atomic") [2] 2b9d9e0a9ba0 ("locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked")
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ce0d7d3f575fc1ba6a89c3c651e710355590daff to < fc55923a972e715f9a27187b47d4920709e23d85affectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < e5a9bdce4bfd3e2226b5f3df5fb8385d6935ee69affectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < af59829e67e11ba2511a9f8e4b9111afc7d1f550affectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < 02ca08fff74cf9b0a3c4d2cacde1c6edeeb95bb4affectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < d8f69404e1d671326f86d378b9f5bfbd56490e9daffectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < 2107a4fc8ff1cf1d52f416c1e5cc8e97413a5915affectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < a3e794136ab5e3ad1e7019175a4b837aec86db4baffectedce0d7d3f575fc1ba6a89c3c651e710355590daff to < 19bdfc7b3c179331eafa423d87e1336f43bbfeb8affected
Linux Linux
Default version status: affected
2.6.26affected0 to < 2.6.26unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fc55923a972e715f9a27187b47d4920709e23d85 ↗
- https://git.kernel.org/stable/c/e5a9bdce4bfd3e2226b5f3df5fb8385d6935ee69 ↗
- https://git.kernel.org/stable/c/af59829e67e11ba2511a9f8e4b9111afc7d1f550 ↗
- https://git.kernel.org/stable/c/02ca08fff74cf9b0a3c4d2cacde1c6edeeb95bb4 ↗
- https://git.kernel.org/stable/c/d8f69404e1d671326f86d378b9f5bfbd56490e9d ↗
- https://git.kernel.org/stable/c/2107a4fc8ff1cf1d52f416c1e5cc8e97413a5915 ↗
- https://git.kernel.org/stable/c/a3e794136ab5e3ad1e7019175a4b837aec86db4b ↗
- https://git.kernel.org/stable/c/19bdfc7b3c179331eafa423d87e1336f43bbfeb8 ↗