{"dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": {"cveId": "CVE-2026-93214", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-09-17T16:02:15.093Z", "datePublished": "2026-09-24T15:10:36.975Z", "dateUpdated": "2026-09-24T15:10:36.975Z"}, "containers": {"cna": {"providerMetadata": {"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-09-24T15:10:36.975Z"}, "descriptions": [{"lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_tcm: fix deadlock in usbg_make_tpg()\n\nusbg_make_tpg() held dep_lock while calling\nconfigfs_depend_item_unlocked(), which acquires the configfs root\ninode lock when operating across subsystems. This creates a circular\nlock dependency with configfs_rmdir():\n\n  dep_lock -> configfs root inode lock -> su_mutex -> dep_lock\n\nIn usbg_make_tpg(), dep_lock only serialized the read of opts->ready,\nwhich is a monotonic flag that transitions from false to true exactly\nonce (in tcm_set_name()) and never reverts. Remove dep_lock from\nusbg_make_tpg() entirely and use READ_ONCE/WRITE_ONCE to access\nopts->ready locklessly instead."}], "affected": [{"product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": ["drivers/usb/gadget/function/f_tcm.c"], "versions": [{"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "abad5daa41cf5d0a0a9cba0397d3a0e7f11e0277", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "3639438a4c83ffc2e564c8c010b92137c5d11cfa", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "78a14ea2284825055ab6c2a1f3489510f560f3a2", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "eef3e62f90d86c1c5651742f84ecc9db1814a893", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "f81a2da137b029a282b9bc64d2f267d242948659", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "6bcd9ee6ad6989d1d85a7459687e45b7ad7568d9", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "d90b0f90e30cd59b36005a4016b15cf02bcd7fb2", "status": "affected", "versionType": "git"}, {"version": "4bb8548df632187d5db50878e71804af5f7c51ad", "lessThan": "9dbf74f4022f80f7669d2b3c22c5deb46c1b5674", "status": "affected", "versionType": "git"}]}, {"product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": ["drivers/usb/gadget/function/f_tcm.c"], "versions": [{"version": "4.5", "status": "affected"}, {"version": "0", "lessThan": "4.5", "status": "unaffected", "versionType": "semver"}, {"version": "5.10.270", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver"}, {"version": "5.15.221", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.1.188", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.6.157", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.12.109", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver"}, {"version": "6.18.50", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver"}, {"version": "7.2.4", "lessThanOrEqual": "7.2.*", "status": "unaffected", "versionType": "semver"}, {"version": "7.3-rc1", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix"}]}], "cpeApplicability": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "5.10.270"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "5.15.221"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "6.1.188"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "6.6.157"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "6.12.109"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "6.18.50"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "7.2.4"}, {"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.5", "versionEndExcluding": "7.3-rc1"}]}]}], "references": [{"url": "https://git.kernel.org/stable/c/abad5daa41cf5d0a0a9cba0397d3a0e7f11e0277"}, {"url": "https://git.kernel.org/stable/c/3639438a4c83ffc2e564c8c010b92137c5d11cfa"}, {"url": "https://git.kernel.org/stable/c/78a14ea2284825055ab6c2a1f3489510f560f3a2"}, {"url": "https://git.kernel.org/stable/c/eef3e62f90d86c1c5651742f84ecc9db1814a893"}, {"url": "https://git.kernel.org/stable/c/f81a2da137b029a282b9bc64d2f267d242948659"}, {"url": "https://git.kernel.org/stable/c/6bcd9ee6ad6989d1d85a7459687e45b7ad7568d9"}, {"url": "https://git.kernel.org/stable/c/d90b0f90e30cd59b36005a4016b15cf02bcd7fb2"}, {"url": "https://git.kernel.org/stable/c/9dbf74f4022f80f7669d2b3c22c5deb46c1b5674"}], "title": "usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()", "x_generator": {"engine": "bippy-1.2.0"}}}}