Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: net2280: Fix double free in probe error path usb_initialize_gadget() installs gadget_release() as the release callback for the embedded gadget device. The struct net2280 instance is therefore released through gadget_release() when the gadget device's last reference is dropped. The probe error path calls net2280_remove(), which tears down the partially initialized device and drops the gadget reference with usb_put_gadget(). Calling kfree(dev) afterwards can free the same object again. Drop the explicit kfree() and let the gadget device release callback handle the final free. This issue was found by a static analysis tool I am developing.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before 71b3391dc81655ff058492f8e9d013b2c6e5747b; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before 550fa4d071a8c8e53072900869d37ae6abf4999d; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before c5b9fdb1e8ddf50bc6272927edb118679f170350; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before 085652fda7f38040d1a2c42d72614f418feb843f; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before 48f89ead20e48d447ad29fa937b43b9fa981cf28; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before e6f8be12f0307145b9a6010f044925952b37de8b; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before db2b72e83a0208ae2b3b270bf91662b1c6849a9b; affected f770fbec4165b1acfabdeadb01ad6008d2c537b5 before c8547c74988e0b5f4cbb1b895e2a57aae084f070 |
| Linux / Linux | affected 5.10; unaffected 0 before 5.10; unaffected 5.10.259 through 5.10.*; unaffected 5.15.210 through 5.15.*; unaffected 6.1.176 through 6.1.*; unaffected 6.6.143 through 6.6.*; unaffected 6.12.93 through 6.12.*; unaffected 6.18.35 through 6.18.*; unaffected 7.0.12 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/71b3391dc81655ff058492f8e9d013b2c6e5747b
- https://git.kernel.org/stable/c/550fa4d071a8c8e53072900869d37ae6abf4999d
- https://git.kernel.org/stable/c/c5b9fdb1e8ddf50bc6272927edb118679f170350
- https://git.kernel.org/stable/c/085652fda7f38040d1a2c42d72614f418feb843f
- https://git.kernel.org/stable/c/48f89ead20e48d447ad29fa937b43b9fa981cf28
- https://git.kernel.org/stable/c/e6f8be12f0307145b9a6010f044925952b37de8b
- https://git.kernel.org/stable/c/db2b72e83a0208ae2b3b270bf91662b1c6849a9b
- https://git.kernel.org/stable/c/c8547c74988e0b5f4cbb1b895e2a57aae084f070