CVE-2024-50249
Vulnerability from cvelistv5
Published
2024-11-09 10:14
Modified
2024-12-19 09:36
Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
ACPI: CPPC: Make rmw_lock a raw_spin_lock
The following BUG was triggered:
=============================
[ BUG: Invalid wait context ]
6.12.0-rc2-XXX #406 Not tainted
-----------------------------
kworker/1:1/62 is trying to lock:
ffffff8801593030 (&cpc_ptr->rmw_lock){+.+.}-{3:3}, at: cpc_write+0xcc/0x370
other info that might help us debug this:
context-{5:5}
2 locks held by kworker/1:1/62:
#0: ffffff897ef5ec98 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2c/0x50
#1: ffffff880154e238 (&sg_policy->update_lock){....}-{2:2}, at: sugov_update_shared+0x3c/0x280
stack backtrace:
CPU: 1 UID: 0 PID: 62 Comm: kworker/1:1 Not tainted 6.12.0-rc2-g9654bd3e8806 #406
Workqueue: 0x0 (events)
Call trace:
dump_backtrace+0xa4/0x130
show_stack+0x20/0x38
dump_stack_lvl+0x90/0xd0
dump_stack+0x18/0x28
__lock_acquire+0x480/0x1ad8
lock_acquire+0x114/0x310
_raw_spin_lock+0x50/0x70
cpc_write+0xcc/0x370
cppc_set_perf+0xa0/0x3a8
cppc_cpufreq_fast_switch+0x40/0xc0
cpufreq_driver_fast_switch+0x4c/0x218
sugov_update_shared+0x234/0x280
update_load_avg+0x6ec/0x7b8
dequeue_entities+0x108/0x830
dequeue_task_fair+0x58/0x408
__schedule+0x4f0/0x1070
schedule+0x54/0x130
worker_thread+0xc0/0x2e8
kthread+0x130/0x148
ret_from_fork+0x10/0x20
sugov_update_shared() locks a raw_spinlock while cpc_write() locks a
spinlock.
To have a correct wait-type order, update rmw_lock to a raw spinlock and
ensure that interrupts will be disabled on the CPU holding it.
[ rjw: Changelog edits ]
References
Impacted products
Vendor | Product | Version | |||||
---|---|---|---|---|---|---|---|
▼ | Linux | Linux |
Version: 94e8c988468dafde1d2bfe0532a60a3117f6394b Version: f812ca13a0d3e3aa418da36b66ca40df0d6f9e60 Version: 8ad28208be7bbe748e90442c45963ddbef0fd1e2 Version: 20cde05aa8bcd7a5ff36a609d813189b7cdbe692 Version: 60949b7b805424f21326b450ca4f1806c06d982e |
||||
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/acpi/cppc_acpi.c", "include/acpi/cppc_acpi.h" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "c46d6b02588000c27b7b869388c2c0278bd0d173", "status": "affected", "version": "94e8c988468dafde1d2bfe0532a60a3117f6394b", "versionType": "git" }, { "lessThan": "23039b4aaf1e82e0feea1060834d4ec34262e453", "status": "affected", "version": "f812ca13a0d3e3aa418da36b66ca40df0d6f9e60", "versionType": "git" }, { "lessThan": "0eb2b767c42fac61ab23c4063eb456baa4c2c262", "status": "affected", "version": "8ad28208be7bbe748e90442c45963ddbef0fd1e2", "versionType": "git" }, { "lessThan": "43b1df48d1e7000a214acd1a81b8012ca8a929c8", "status": "affected", "version": "20cde05aa8bcd7a5ff36a609d813189b7cdbe692", "versionType": "git" }, { "lessThan": "1c10941e34c5fdc0357e46a25bd130d9cf40b925", "status": "affected", "version": "60949b7b805424f21326b450ca4f1806c06d982e", "versionType": "git" } ] }, { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/acpi/cppc_acpi.c", "include/acpi/cppc_acpi.h" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "5.15.171", "status": "affected", "version": "5.15.168", "versionType": "semver" }, { "lessThan": "6.1.116", "status": "affected", "version": "6.1.113", "versionType": "semver" }, { "lessThan": "6.6.60", "status": "affected", "version": "6.6.54", "versionType": "semver" }, { "lessThan": "6.11.7", "status": "affected", "version": "6.11.2", "versionType": "semver" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nACPI: CPPC: Make rmw_lock a raw_spin_lock\n\nThe following BUG was triggered:\n\n=============================\n[ BUG: Invalid wait context ]\n6.12.0-rc2-XXX #406 Not tainted\n-----------------------------\nkworker/1:1/62 is trying to lock:\nffffff8801593030 (\u0026cpc_ptr-\u003ermw_lock){+.+.}-{3:3}, at: cpc_write+0xcc/0x370\nother info that might help us debug this:\ncontext-{5:5}\n2 locks held by kworker/1:1/62:\n #0: ffffff897ef5ec98 (\u0026rq-\u003e__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2c/0x50\n #1: ffffff880154e238 (\u0026sg_policy-\u003eupdate_lock){....}-{2:2}, at: sugov_update_shared+0x3c/0x280\nstack backtrace:\nCPU: 1 UID: 0 PID: 62 Comm: kworker/1:1 Not tainted 6.12.0-rc2-g9654bd3e8806 #406\nWorkqueue: 0x0 (events)\nCall trace:\n dump_backtrace+0xa4/0x130\n show_stack+0x20/0x38\n dump_stack_lvl+0x90/0xd0\n dump_stack+0x18/0x28\n __lock_acquire+0x480/0x1ad8\n lock_acquire+0x114/0x310\n _raw_spin_lock+0x50/0x70\n cpc_write+0xcc/0x370\n cppc_set_perf+0xa0/0x3a8\n cppc_cpufreq_fast_switch+0x40/0xc0\n cpufreq_driver_fast_switch+0x4c/0x218\n sugov_update_shared+0x234/0x280\n update_load_avg+0x6ec/0x7b8\n dequeue_entities+0x108/0x830\n dequeue_task_fair+0x58/0x408\n __schedule+0x4f0/0x1070\n schedule+0x54/0x130\n worker_thread+0xc0/0x2e8\n kthread+0x130/0x148\n ret_from_fork+0x10/0x20\n\nsugov_update_shared() locks a raw_spinlock while cpc_write() locks a\nspinlock.\n\nTo have a correct wait-type order, update rmw_lock to a raw spinlock and\nensure that interrupts will be disabled on the CPU holding it.\n\n[ rjw: Changelog edits ]" } ], "providerMetadata": { "dateUpdated": "2024-12-19T09:36:31.628Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/c46d6b02588000c27b7b869388c2c0278bd0d173" }, { "url": "https://git.kernel.org/stable/c/23039b4aaf1e82e0feea1060834d4ec34262e453" }, { "url": "https://git.kernel.org/stable/c/0eb2b767c42fac61ab23c4063eb456baa4c2c262" }, { "url": "https://git.kernel.org/stable/c/43b1df48d1e7000a214acd1a81b8012ca8a929c8" }, { "url": "https://git.kernel.org/stable/c/1c10941e34c5fdc0357e46a25bd130d9cf40b925" } ], "title": "ACPI: CPPC: Make rmw_lock a raw_spin_lock", "x_generator": { "engine": "bippy-5f407fcff5a0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2024-50249", "datePublished": "2024-11-09T10:14:57.833Z", "dateReserved": "2024-10-21T19:36:19.979Z", "dateUpdated": "2024-12-19T09:36:31.628Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2024-50249\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-11-09T11:15:10.743\",\"lastModified\":\"2024-11-14T17:01:11.577\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nACPI: CPPC: Make rmw_lock a raw_spin_lock\\n\\nThe following BUG was triggered:\\n\\n=============================\\n[ BUG: Invalid wait context ]\\n6.12.0-rc2-XXX #406 Not tainted\\n-----------------------------\\nkworker/1:1/62 is trying to lock:\\nffffff8801593030 (\u0026cpc_ptr-\u003ermw_lock){+.+.}-{3:3}, at: cpc_write+0xcc/0x370\\nother info that might help us debug this:\\ncontext-{5:5}\\n2 locks held by kworker/1:1/62:\\n #0: ffffff897ef5ec98 (\u0026rq-\u003e__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2c/0x50\\n #1: ffffff880154e238 (\u0026sg_policy-\u003eupdate_lock){....}-{2:2}, at: sugov_update_shared+0x3c/0x280\\nstack backtrace:\\nCPU: 1 UID: 0 PID: 62 Comm: kworker/1:1 Not tainted 6.12.0-rc2-g9654bd3e8806 #406\\nWorkqueue: 0x0 (events)\\nCall trace:\\n dump_backtrace+0xa4/0x130\\n show_stack+0x20/0x38\\n dump_stack_lvl+0x90/0xd0\\n dump_stack+0x18/0x28\\n __lock_acquire+0x480/0x1ad8\\n lock_acquire+0x114/0x310\\n _raw_spin_lock+0x50/0x70\\n cpc_write+0xcc/0x370\\n cppc_set_perf+0xa0/0x3a8\\n cppc_cpufreq_fast_switch+0x40/0xc0\\n cpufreq_driver_fast_switch+0x4c/0x218\\n sugov_update_shared+0x234/0x280\\n update_load_avg+0x6ec/0x7b8\\n dequeue_entities+0x108/0x830\\n dequeue_task_fair+0x58/0x408\\n __schedule+0x4f0/0x1070\\n schedule+0x54/0x130\\n worker_thread+0xc0/0x2e8\\n kthread+0x130/0x148\\n ret_from_fork+0x10/0x20\\n\\nsugov_update_shared() locks a raw_spinlock while cpc_write() locks a\\nspinlock.\\n\\nTo have a correct wait-type order, update rmw_lock to a raw spinlock and\\nensure that interrupts will be disabled on the CPU holding it.\\n\\n[ rjw: Changelog edits ]\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ACPI: CPPC: Convertir rmw_lock en raw_spin_lock Se activ\u00f3 el siguiente ERROR: ============================= [ ERROR: Contexto de espera no v\u00e1lido ] 6.12.0-rc2-XXX #406 No contaminado ----------------------------- kworker/1:1/62 est\u00e1 intentando bloquear: ffffff8801593030 (\u0026amp;cpc_ptr-\u0026gt;rmw_lock){+.+.}-{3:3}, en: cpc_write+0xcc/0x370 otra informaci\u00f3n que podr\u00eda ayudarnos a depurar esto: context-{5:5} 2 bloqueos mantenidos por kworker/1:1/62: #0: ffffff897ef5ec98 (\u0026amp;rq-\u0026gt;__lock){-.-.}-{2:2}, en: raw_spin_rq_lock_nested+0x2c/0x50 #1: ffffff880154e238 (\u0026amp;sg_policy-\u0026gt;update_lock){....}-{2:2}, en: sugov_update_shared+0x3c/0x280 seguimiento de pila: CPU: 1 UID: 0 PID: 62 Comm: kworker/1:1 No contaminado 6.12.0-rc2-g9654bd3e8806 #406 Cola de trabajo: 0x0 (eventos) Seguimiento de llamadas: dump_backtrace+0xa4/0x130 show_stack+0x20/0x38 dump_stack_lvl+0x90/0xd0 dump_stack+0x18/0x28 __lock_acquire+0x480/0x1ad8 bloqueo_adquisici\u00f3n+0x114/0x310 bloqueo_giro_sin_engranaje+0x50/0x70 escritura_cpc+0xcc/0x370 rendimiento_establecimiento_cppc+0xa0/0x3a8 cambio_r\u00e1pido_de_frecuencia_de_cpuc+0x40/0xc0 cambio_r\u00e1pido_de_controlador_de_frecuencia_de_cpu+0x4c/0x218 actualizaci\u00f3n_compartida_sugov+0x234/0x280 promedio_de_carga_actualizaci\u00f3n+0x6ec/0x7b8 entidades_de_la_cola+0x108/0x830 tarea_de_la_cola_justa+0x58/0x408 __programaci\u00f3n+0x4f0/0x1070 programaci\u00f3n+0x54/0x130 subproceso_de_trabajo+0xc0/0x2e8 kthread+0x130/0x148 ret_from_fork+0x10/0x20 sugov_update_shared() bloquea un raw_spinlock mientras que cpc_write() bloquea un spinlock. Para tener un orden de espera correcto, actualice rmw_lock a un spinlock sin procesar y aseg\u00farese de que las interrupciones se desactiven en la CPU que lo contiene. [ rjw: ediciones del registro de cambios ]\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.168\",\"versionEndExcluding\":\"5.15.171\",\"matchCriteriaId\":\"E7D1CD1E-855E-4C64-9844-472A5F946600\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.1.113\",\"versionEndExcluding\":\"6.1.116\",\"matchCriteriaId\":\"0784ED09-D629-4871-A504-544E89D6604D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.6.54\",\"versionEndExcluding\":\"6.6.60\",\"matchCriteriaId\":\"9948264B-EE9F-44AE-A53F-08F7E9AB2D6A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.10.13\",\"versionEndExcluding\":\"6.11\",\"matchCriteriaId\":\"B88D322F-6F03-45A1-8C58-9E45EAB64B13\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.11.2\",\"versionEndExcluding\":\"6.11.7\",\"matchCriteriaId\":\"2E287E86-AA84-4156-B0BE-E96F7654E4A5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"7F361E1D-580F-4A2D-A509-7615F73167A1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"925478D0-3E3D-4E6F-ACD5-09F28D5DF82C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"3C95E234-D335-4B6C-96BF-E2CEBD8654ED\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"E0F717D8-3014-4F84-8086-0124B2111379\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"24DBE6C7-2AAE-4818-AED2-E131F153D2FA\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0eb2b767c42fac61ab23c4063eb456baa4c2c262\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1c10941e34c5fdc0357e46a25bd130d9cf40b925\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/23039b4aaf1e82e0feea1060834d4ec34262e453\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/43b1df48d1e7000a214acd1a81b8012ca8a929c8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/c46d6b02588000c27b7b869388c2c0278bd0d173\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.