In the Linux kernel, the following vulnerability has been resolved:
usb: typec: displayport: Fix potential deadlock
The deadlock can occur due to a recursive lock acquisition of
cros_typec_altmode_data::mutex.
The call chain is as follows:
1. crostypecaltmodework() acquires the mutex
2. typecaltmodevdm() -> dpaltmodevdm() ->
3. typecaltmodeexit() -> crostypecaltmodeexit()
4. crostypecaltmode_exit() attempts to acquire the mutex again
To prevent this, defer the typec_altmode_exit() call by scheduling
it rather than calling it directly from within the mutex-protected
context.
[
{
"id": "CVE-2025-38404-2438ef7e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76cf1f33e7319fe74c94ac92f9814094ee8cc84b",
"digest": {
"length": 1258.0,
"function_hash": "63277922202311860766323344747193273188"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-348bd77d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@80c25d7916a44715338d4f8924c8e52af50d0b9f",
"digest": {
"length": 1409.0,
"function_hash": "264564921286298649890486160553479854296"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-6f02f0b7",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@749d9076735fb497aae60fbea9fff563f9ea3254",
"digest": {
"length": 1108.0,
"function_hash": "162503292608345020787240149224827967420"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-8f13c2fa",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb08fca56f1f39e4038cb9bac9864464b13b00aa",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-93fdbbfc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eb08fca56f1f39e4038cb9bac9864464b13b00aa",
"digest": {
"length": 1258.0,
"function_hash": "63277922202311860766323344747193273188"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-94d30f29",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@80c25d7916a44715338d4f8924c8e52af50d0b9f",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-9fc9cc37",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c782f98eef14197affa8a7b91e6981420f109ea9",
"digest": {
"length": 1409.0,
"function_hash": "264564921286298649890486160553479854296"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-a0804b97",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7be0d1ea71f52595499da39cea484a895e8ed042",
"digest": {
"length": 1108.0,
"function_hash": "162503292608345020787240149224827967420"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-b4d1a8d2",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c782f98eef14197affa8a7b91e6981420f109ea9",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-d17a25b7",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7be0d1ea71f52595499da39cea484a895e8ed042",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-d7952a94",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@099cf1fbb8afc3771f408109f62bdec66f85160e",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-ef32e0e7",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@099cf1fbb8afc3771f408109f62bdec66f85160e",
"digest": {
"length": 1409.0,
"function_hash": "264564921286298649890486160553479854296"
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c",
"function": "dp_altmode_vdm"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-f1a80d18",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@749d9076735fb497aae60fbea9fff563f9ea3254",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2025-38404-fcd825d5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76cf1f33e7319fe74c94ac92f9814094ee8cc84b",
"digest": {
"line_hashes": [
"126070902684975736141901911398232526265",
"266411721620277721657613967204467068373",
"23766162348037122882160223973398933882",
"327379909333896071192213803069328031809",
"164979863325993694831981184654089817960"
],
"threshold": 0.9
},
"target": {
"file": "drivers/usb/typec/altmodes/displayport.c"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
}
]