In the Linux kernel, the following vulnerability has been resolved:
USB: gadget: fmidi: fmidicomplete to call queuework
When using USB MIDI, a lock is attempted to be acquired twice through a re-entrant call to fmiditransmit, causing a deadlock.
Fix it by using queuework() to schedule the inner fmidi_transmit() via a high priority work queue from the completion handler.
[
{
"deprecated": false,
"id": "CVE-2025-21859-0f2931e2",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@deeee3adb2c01eedab32c3b4519337689ad02e8a"
},
{
"deprecated": false,
"id": "CVE-2025-21859-2b6f426a",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b09957657d7767d164b3432af2129bd72947553c"
},
{
"deprecated": false,
"id": "CVE-2025-21859-31ffb289",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24a942610ee9bafb2692a456ae850c5b2e409b05"
},
{
"deprecated": false,
"id": "CVE-2025-21859-347cde88",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24a942610ee9bafb2692a456ae850c5b2e409b05"
},
{
"deprecated": false,
"id": "CVE-2025-21859-42ac2667",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8aa6b4be1f4efccbfc533e6ec8841d26e4fa8dba"
},
{
"deprecated": false,
"id": "CVE-2025-21859-4ab41da2",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9fec6f42c45db2f62dc373fb1a10d2488c04e79"
},
{
"deprecated": false,
"id": "CVE-2025-21859-51051428",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ab37fcb42832cdd3e9d5e50653285ca84d6686f"
},
{
"deprecated": false,
"id": "CVE-2025-21859-57e62beb",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f10923404705a94891e612dff3b75e828a78368"
},
{
"deprecated": false,
"id": "CVE-2025-21859-65fbd54f",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8aa6b4be1f4efccbfc533e6ec8841d26e4fa8dba"
},
{
"deprecated": false,
"id": "CVE-2025-21859-675ec663",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@deeee3adb2c01eedab32c3b4519337689ad02e8a"
},
{
"deprecated": false,
"id": "CVE-2025-21859-81becc12",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f10923404705a94891e612dff3b75e828a78368"
},
{
"deprecated": false,
"id": "CVE-2025-21859-92960674",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b09957657d7767d164b3432af2129bd72947553c"
},
{
"deprecated": false,
"id": "CVE-2025-21859-a8e9f8bc",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@727dee0857946b85232526de4f5a957fe163e89a"
},
{
"deprecated": false,
"id": "CVE-2025-21859-af5427ff",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"195802286281642416687709827191412505052",
"46241497053032832329028180620447505959",
"114966004430204083518878950732199769523",
"4286888052090196711795454071797677845"
]
},
"target": {
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@727dee0857946b85232526de4f5a957fe163e89a"
},
{
"deprecated": false,
"id": "CVE-2025-21859-b6e0d842",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e9fec6f42c45db2f62dc373fb1a10d2488c04e79"
},
{
"deprecated": false,
"id": "CVE-2025-21859-e6b7940a",
"signature_version": "v1",
"digest": {
"length": 976.0,
"function_hash": "297670611895830534403129150213426761825"
},
"target": {
"function": "f_midi_complete",
"file": "drivers/usb/gadget/function/f_midi.c"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ab37fcb42832cdd3e9d5e50653285ca84d6686f"
}
]