In the Linux kernel, the following vulnerability has been resolved:
rtmutex: Drop rtmutex::waitlock before scheduling
rtmutexhandledeadlock() is called with rtmutex::wait_lock held. In the good case it returns with the lock held and in the deadlock case it emits a warning and goes into an endless scheduling loop with the lock held, which triggers the 'scheduling in atomic' warning.
Unlock rtmutex::waitlock in the dead lock case before issuing the warning and dropping into the schedule for ever loop.
[ tglx: Moved unlock before the WARN(), removed the pointless comment, massaged changelog, added Fixes tag ]
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/46xxx/CVE-2024-46829.json"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46829.json"
[
{
"id": "CVE-2024-46829-0e9ca32b",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@432efdbe7da5ecfcbc0c2180cfdbab1441752a38",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"210006976851846852960767211565439885591",
"97252977079973924747600551589054926382",
"233878986614701125621135535589899822091",
"299242185087615196075823452986443305286",
"41261348016138579978679894584746971398",
"215073632400155169385936730564429772218",
"104962091758540631854669952500255400070",
"286062299748786865768697956544471650478",
"178164276176795114808142475293271955284",
"203924316030978327645942118134711284162",
"156317166180590433269344016825246781375"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-10ce16b0",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f13b5afc5c4889569d84c3011ce449f61fccfb28",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"47525536075055384020372259440199933543",
"167807356376694213910019344969017317325",
"327287693673202083747547863191913880904",
"9612352108448973169185306889312214158",
"100525694403031952220322330687444510545",
"138866077355804537478904694351861334501",
"276225816773817094290075060363571901251",
"115660803266054399987623403451474518682",
"323495285903379464014488192369800202051",
"218575989354493714483653503108676342948",
"63263411810904379799832590759294996585",
"266417121930880345239648176988299240525"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-1df6bbb6",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a976e9a47e8e5b326de671811561cab12e6fb1f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "92308412620915943328577531261703629340",
"length": 203.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-2339a849",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85f03ca98e07cd0786738b56ae73740bce0ac27f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "189093755131779738529867540216039399094",
"length": 279.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-2b893113",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d33d26036a0274b472299d7dcdaa5fb34329f91b",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "189093755131779738529867540216039399094",
"length": 279.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-2edcdade",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a92d81c9efec9280681c27a2c0a963fd0f1338e0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "21826135769787094244478666729752592566",
"length": 929.0
},
"target": {
"function": "__rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-5c012faf",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@93f44655472d9cd418293d328f9d141ca234ad83",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "189093755131779738529867540216039399094",
"length": 279.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-5fd0144e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a92d81c9efec9280681c27a2c0a963fd0f1338e0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "189093755131779738529867540216039399094",
"length": 279.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-615e0cf5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1401da1486dc1cdbef6025fd74a3977df3a3e5d0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "294584255097698744449127401118528837996",
"length": 802.0
},
"target": {
"function": "rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-67dd7f05",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d33d26036a0274b472299d7dcdaa5fb34329f91b",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "21826135769787094244478666729752592566",
"length": 929.0
},
"target": {
"function": "__rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-6a406a00",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@93f44655472d9cd418293d328f9d141ca234ad83",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "214851814986639397747934827809290300011",
"length": 870.0
},
"target": {
"function": "__rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-72092447",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1401da1486dc1cdbef6025fd74a3977df3a3e5d0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"210006976851846852960767211565439885591",
"97252977079973924747600551589054926382",
"233878986614701125621135535589899822091",
"299242185087615196075823452986443305286",
"41261348016138579978679894584746971398",
"215073632400155169385936730564429772218",
"104962091758540631854669952500255400070",
"286062299748786865768697956544471650478",
"178164276176795114808142475293271955284",
"203924316030978327645942118134711284162",
"156317166180590433269344016825246781375"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-78b4e615",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d33d26036a0274b472299d7dcdaa5fb34329f91b",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"47525536075055384020372259440199933543",
"167807356376694213910019344969017317325",
"327287693673202083747547863191913880904",
"9612352108448973169185306889312214158",
"100525694403031952220322330687444510545",
"138866077355804537478904694351861334501",
"276225816773817094290075060363571901251",
"115660803266054399987623403451474518682",
"323495285903379464014488192369800202051",
"218575989354493714483653503108676342948",
"63263411810904379799832590759294996585",
"266417121930880345239648176988299240525"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-8310faee",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@432efdbe7da5ecfcbc0c2180cfdbab1441752a38",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "294584255097698744449127401118528837996",
"length": 802.0
},
"target": {
"function": "rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-99faac80",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a976e9a47e8e5b326de671811561cab12e6fb1f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"210006976851846852960767211565439885591",
"97252977079973924747600551589054926382",
"233878986614701125621135535589899822091",
"299242185087615196075823452986443305286",
"41261348016138579978679894584746971398",
"215073632400155169385936730564429772218",
"104962091758540631854669952500255400070",
"286062299748786865768697956544471650478",
"178164276176795114808142475293271955284",
"203924316030978327645942118134711284162",
"156317166180590433269344016825246781375"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-ac32f544",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@93f44655472d9cd418293d328f9d141ca234ad83",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"47525536075055384020372259440199933543",
"167807356376694213910019344969017317325",
"327287693673202083747547863191913880904",
"9612352108448973169185306889312214158",
"100525694403031952220322330687444510545",
"138866077355804537478904694351861334501",
"276225816773817094290075060363571901251",
"318109865215752705614189586581753418564",
"323495285903379464014488192369800202051",
"218575989354493714483653503108676342948",
"63263411810904379799832590759294996585",
"107145993148916199844714550661407740423"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-c221ba1a",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85f03ca98e07cd0786738b56ae73740bce0ac27f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"47525536075055384020372259440199933543",
"167807356376694213910019344969017317325",
"327287693673202083747547863191913880904",
"9612352108448973169185306889312214158",
"100525694403031952220322330687444510545",
"138866077355804537478904694351861334501",
"276225816773817094290075060363571901251",
"318109865215752705614189586581753418564",
"323495285903379464014488192369800202051",
"218575989354493714483653503108676342948",
"63263411810904379799832590759294996585",
"266417121930880345239648176988299240525"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-cd772596",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a976e9a47e8e5b326de671811561cab12e6fb1f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "294584255097698744449127401118528837996",
"length": 802.0
},
"target": {
"function": "rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-cf67a06b",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1401da1486dc1cdbef6025fd74a3977df3a3e5d0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "92308412620915943328577531261703629340",
"length": 203.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-d59d6a81",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f13b5afc5c4889569d84c3011ce449f61fccfb28",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "189093755131779738529867540216039399094",
"length": 279.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-d7c0e2ce",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@432efdbe7da5ecfcbc0c2180cfdbab1441752a38",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "92308412620915943328577531261703629340",
"length": 203.0
},
"target": {
"function": "rt_mutex_handle_deadlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-dd2c3e53",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a92d81c9efec9280681c27a2c0a963fd0f1338e0",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"47525536075055384020372259440199933543",
"167807356376694213910019344969017317325",
"327287693673202083747547863191913880904",
"9612352108448973169185306889312214158",
"100525694403031952220322330687444510545",
"138866077355804537478904694351861334501",
"276225816773817094290075060363571901251",
"318109865215752705614189586581753418564",
"323495285903379464014488192369800202051",
"218575989354493714483653503108676342948",
"63263411810904379799832590759294996585",
"266417121930880345239648176988299240525"
]
},
"target": {
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-e0b7a6ed",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f13b5afc5c4889569d84c3011ce449f61fccfb28",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "21826135769787094244478666729752592566",
"length": 929.0
},
"target": {
"function": "__rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
},
{
"id": "CVE-2024-46829-ebc9ca4b",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@85f03ca98e07cd0786738b56ae73740bce0ac27f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "21826135769787094244478666729752592566",
"length": 929.0
},
"target": {
"function": "__rt_mutex_slowlock",
"file": "kernel/locking/rtmutex.c"
}
}
]