Lucene search

K
cvelistLinuxCVELIST:CVE-2024-27002
HistoryMay 01, 2024 - 5:28 a.m.

CVE-2024-27002 clk: mediatek: Do a runtime PM get on controllers during probe

2024-05-0105:28:44
Linux
www.cve.org
1
linux kernel
vulnerability
deadlock
mutual dependency
probe
deadlock
regression
chromebooks
cve-2024-27002
runtime pm

7.5 High

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

15.5%

In the Linux kernel, the following vulnerability has been resolved:

clk: mediatek: Do a runtime PM get on controllers during probe

mt8183-mfgcfg has a mutual dependency with genpd during the probing
stage, which leads to a deadlock in the following call stack:

CPU0: genpd_lock –> clk_prepare_lock
genpd_power_off_work_fn()
genpd_lock()
generic_pm_domain::power_off()
clk_unprepare()
clk_prepare_lock()

CPU1: clk_prepare_lock –> genpd_lock
clk_register()
__clk_core_init()
clk_prepare_lock()
clk_pm_runtime_get()
genpd_lock()

Do a runtime PM get at the probe function to make sure clk_register()
won’t acquire the genpd lock. Instead of only modifying mt8183-mfgcfg,
do this on all mediatek clock controller probings because we don’t
believe this would cause any regression.

Verified on MT8183 and MT8192 Chromebooks.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/clk/mediatek/clk-mtk.c"
    ],
    "versions": [
      {
        "version": "acddfc2c261b",
        "lessThan": "165d22647257",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "acddfc2c261b",
        "lessThan": "c0dcd5c072e2",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "acddfc2c261b",
        "lessThan": "b62ed25feb34",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "acddfc2c261b",
        "lessThan": "2f7b1d8b5505",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/clk/mediatek/clk-mtk.c"
    ],
    "versions": [
      {
        "version": "5.2",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.2",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.1.88",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.29",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8.8",
        "lessThanOrEqual": "6.8.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.9",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

7.5 High

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

15.5%