In the Linux kernel, the following vulnerability has been resolved:
iouring: fix possible deadlock in ioregisteriowqmax_workers()
The ioregisteriowqmaxworkers() function calls ioputsqdata(), which acquires the sqd->lock without releasing the uringlock. Similar to the commit 009ad9f0c6ee ("iouring: drop ctx->uringlock before acquiring sqd->lock"), this can lead to a potential deadlock situation.
To resolve this issue, the uringlock is released before calling ioputsqdata(), and then it is re-acquired after the function call.
This change ensures that the locks are acquired in the correct order, preventing the possibility of a deadlock.
[
{
"deprecated": false,
"target": {
"file": "io_uring/io_uring.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-4e16f012",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fdacd09f2ddf7a00787291f08ee48c0421e5b709",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "io_uring/io_uring.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-7e591daa",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97ed7ff58de66c544692b3c2b988f3f594348de0",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "io_uring/io_uring.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-b0ce4941",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@950ac86cff338ab56e2eaf611f4936ee34893b63",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "io_uring/register.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-c6da6e2a",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b571a367502c7ef94c688ef9c7f7d69a2ce3bcca",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "io_uring/io_uring.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-d0f17bcd",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b17397a0a5c56e111f61cb5b77d162664dc00de9",
"signature_version": "v1"
},
{
"deprecated": false,
"target": {
"file": "io_uring/register.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"224919277567343122392620789145913752407",
"264899408787882353078082649394551167658",
"95296185897393742719523381595784924603",
"47135331007897414200257734061658086549",
"138807081087639187291113967845217281201",
"315167138781588135366440642929611909432",
"324044782100150496038398857785100057187",
"335984759970304373605983700387129994131",
"158383594736404723093120236629487245680",
"47135331007897414200257734061658086549",
"211716621308716854389639636172764482587",
"9130789964086019891208454411327845945"
]
},
"id": "CVE-2024-41080-d3a9745c",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@73254a297c2dd094abec7c9efee32455ae875bdf",
"signature_version": "v1"
}
]