{"id":"CVE-2024-42085","state":"PUBLISHED","title":"usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock\n\nWhen config CONFIG_USB_DWC3_DUAL_ROLE is selected, and trigger system\nto enter suspend status with below command:\necho mem > /sys/power/state\nThere will be a deadlock issue occurring. Detailed invoking path as\nbelow:\ndwc3_suspend_common()\n    spin_lock_irqsave(&dwc->lock, flags);              <-- 1st\n    dwc3_gadget_suspend(dwc);\n        dwc3_gadget_soft_disconnect(dwc);\n            spin_lock_irqsave(&dwc->lock, flags);      <-- 2nd\nThis issue is exposed by commit c7ebd8149ee5 (\"usb: dwc3: gadget: Fix\nNULL pointer dereference in dwc3_gadget_suspend\") that removes the code\nof checking whether dwc->gadget_driver is NULL or not. It causes the\nfollowing code is executed and deadlock occurs when trying to get the\nspinlock. In fact, the root cause is the commit 5265397f9442(\"usb: dwc3:\nRemove DWC3 locking during gadget suspend/resume\") that forgot to remove\nthe lock of otg mode. So, remove the redundant lock of otg mode during\ngadget suspend/resume.","publishedAt":"2024-07-29T16:26:26.284Z","updatedAt":"2026-05-23T15:51:58.161Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f2bfd0a2a640ca2f308b6893a89cfb2ec31e8fde","status":"affected","lessThan":"8731a0b180f6b5d52397c7aeea6eda9511a467a7","versionType":"git"},{"version":"2fa487a9466760a4fb6f147aed6219379dabfc2e","status":"affected","lessThan":"7026576e89094aa9a0062aa6d10cba18aa99944c","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"d77e2b5104c51d3668b9717c825a4a06998efe63","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"17e2956633ca560b95f1cbbb297cfc2adf650649","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"f1274cfab183e69a7c7bafffcb4f50703c876276","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"7838de15bb700c2898a7d741db9b1f3cbc86c136","versionType":"git"},{"version":"5.15.128","status":"affected","lessThan":"5.15.162","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/dwc3/core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.1","versionType":"semver"},{"version":"5.15.162","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.97","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.37","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.8","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/dwc3/core.c"]}],"references":["https://git.kernel.org/stable/c/8731a0b180f6b5d52397c7aeea6eda9511a467a7","https://git.kernel.org/stable/c/7026576e89094aa9a0062aa6d10cba18aa99944c","https://git.kernel.org/stable/c/d77e2b5104c51d3668b9717c825a4a06998efe63","https://git.kernel.org/stable/c/17e2956633ca560b95f1cbbb297cfc2adf650649","https://git.kernel.org/stable/c/f1274cfab183e69a7c7bafffcb4f50703c876276","https://git.kernel.org/stable/c/7838de15bb700c2898a7d741db9b1f3cbc86c136","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:47.831Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/42xxx/CVE-2024-42085.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-42085","state":"PUBLISHED","datePublished":"2024-07-29T16:26:26.284Z","dateUpdated":"2026-05-23T15:51:58.161Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-29T15:50:41.170Z"},"containers":{"cna":{"title":"usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock\n\nWhen config CONFIG_USB_DWC3_DUAL_ROLE is selected, and trigger system\nto enter suspend status with below command:\necho mem > /sys/power/state\nThere will be a deadlock issue occurring. Detailed invoking path as\nbelow:\ndwc3_suspend_common()\n    spin_lock_irqsave(&dwc->lock, flags);              <-- 1st\n    dwc3_gadget_suspend(dwc);\n        dwc3_gadget_soft_disconnect(dwc);\n            spin_lock_irqsave(&dwc->lock, flags);      <-- 2nd\nThis issue is exposed by commit c7ebd8149ee5 (\"usb: dwc3: gadget: Fix\nNULL pointer dereference in dwc3_gadget_suspend\") that removes the code\nof checking whether dwc->gadget_driver is NULL or not. It causes the\nfollowing code is executed and deadlock occurs when trying to get the\nspinlock. In fact, the root cause is the commit 5265397f9442(\"usb: dwc3:\nRemove DWC3 locking during gadget suspend/resume\") that forgot to remove\nthe lock of otg mode. So, remove the redundant lock of otg mode during\ngadget suspend/resume."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f2bfd0a2a640ca2f308b6893a89cfb2ec31e8fde","status":"affected","lessThan":"8731a0b180f6b5d52397c7aeea6eda9511a467a7","versionType":"git"},{"version":"2fa487a9466760a4fb6f147aed6219379dabfc2e","status":"affected","lessThan":"7026576e89094aa9a0062aa6d10cba18aa99944c","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"d77e2b5104c51d3668b9717c825a4a06998efe63","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"17e2956633ca560b95f1cbbb297cfc2adf650649","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"f1274cfab183e69a7c7bafffcb4f50703c876276","versionType":"git"},{"version":"5265397f94424eaea596026fd34dc7acf474dcec","status":"affected","lessThan":"7838de15bb700c2898a7d741db9b1f3cbc86c136","versionType":"git"},{"version":"5.15.128","status":"affected","lessThan":"5.15.162","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/dwc3/core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.1","versionType":"semver"},{"version":"5.15.162","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.97","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.37","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.8","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/dwc3/core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8731a0b180f6b5d52397c7aeea6eda9511a467a7"},{"url":"https://git.kernel.org/stable/c/7026576e89094aa9a0062aa6d10cba18aa99944c"},{"url":"https://git.kernel.org/stable/c/d77e2b5104c51d3668b9717c825a4a06998efe63"},{"url":"https://git.kernel.org/stable/c/17e2956633ca560b95f1cbbb297cfc2adf650649"},{"url":"https://git.kernel.org/stable/c/f1274cfab183e69a7c7bafffcb4f50703c876276"},{"url":"https://git.kernel.org/stable/c/7838de15bb700c2898a7d741db9b1f3cbc86c136"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:51:58.161Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.128","versionEndExcluding":"5.15.162"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.1.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.6.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.9.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/7026576e89094aa9a0062aa6d10cba18aa99944c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d77e2b5104c51d3668b9717c825a4a06998efe63","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/17e2956633ca560b95f1cbbb297cfc2adf650649","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/f1274cfab183e69a7c7bafffcb4f50703c876276","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/7838de15bb700c2898a7d741db9b1f3cbc86c136","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:01:17.253Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-42085","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T16:18:57.338012Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:33:57.102Z"}}]}}}