CVE-2024-50249
Vulnerability from cvelistv5
Published
2024-11-09 10:14
Modified
2024-12-19 09:36
Severity ?
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 ]
Impacted products
Vendor Product Version
Linux Linux Version: 5.15.168   
Version: 6.1.113   
Version: 6.6.54   
Version: 6.11.2   
Show details on NVD website


{
  "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\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

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.