{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/mediatek: Always enable the clk on resume\n\nIn mtk_iommu_runtime_resume always enable the clk, even\nif m4u_dom is null. Otherwise the 'suspend' cb might\ndisable the clk which is already disabled causing the warning:\n\n[    1.586104] infra_m4u already disabled\n[    1.586133] WARNING: CPU: 0 PID: 121 at drivers/clk/clk.c:952 clk_core_disable+0xb0/0xb8\n[    1.594391] mtk-iommu 10205000.iommu: bound 18001000.larb (ops mtk_smi_larb_component_ops)\n[    1.598108] Modules linked in:\n[    1.598114] CPU: 0 PID: 121 Comm: kworker/0:2 Not tainted 5.12.0-rc5 #69\n[    1.609246] mtk-iommu 10205000.iommu: bound 14027000.larb (ops mtk_smi_larb_component_ops)\n[    1.617487] Hardware name: Google Elm (DT)\n[    1.617491] Workqueue: pm pm_runtime_work\n[    1.620545] mtk-iommu 10205000.iommu: bound 19001000.larb (ops mtk_smi_larb_component_ops)\n\n[    1.627229] pstate: 60000085 (nZCv daIf -PAN -UAO -TCO BTYPE=--)\n[    1.659297] pc : clk_core_disable+0xb0/0xb8\n[    1.663475] lr : clk_core_disable+0xb0/0xb8\n[    1.667652] sp : ffff800011b9bbe0\n[    1.670959] x29: ffff800011b9bbe0 x28: 0000000000000000\n[    1.676267] x27: ffff800011448000 x26: ffff8000100cfd98\n[    1.681574] x25: ffff800011b9bd48 x24: 0000000000000000\n[    1.686882] x23: 0000000000000000 x22: ffff8000106fad90\n[    1.692189] x21: 000000000000000a x20: ffff0000c0048500\n[    1.697496] x19: ffff0000c0048500 x18: ffffffffffffffff\n[    1.702804] x17: 0000000000000000 x16: 0000000000000000\n[    1.708112] x15: ffff800011460300 x14: fffffffffffe0000\n[    1.713420] x13: ffff8000114602d8 x12: 0720072007200720\n[    1.718727] x11: 0720072007200720 x10: 0720072007200720\n[    1.724035] x9 : ffff800011b9bbe0 x8 : ffff800011b9bbe0\n[    1.729342] x7 : 0000000000000009 x6 : ffff8000114b8328\n[    1.734649] x5 : 0000000000000000 x4 : 0000000000000000\n[    1.739956] x3 : 00000000ffffffff x2 : ffff800011460298\n[    1.745263] x1 : 1af1d7de276f4500 x0 : 0000000000000000\n[    1.750572] Call trace:\n[    1.753010]  clk_core_disable+0xb0/0xb8\n[    1.756840]  clk_core_disable_lock+0x24/0x40\n[    1.761105]  clk_disable+0x20/0x30\n[    1.764501]  mtk_iommu_runtime_suspend+0x88/0xa8\n[    1.769114]  pm_generic_runtime_suspend+0x2c/0x48\n[    1.773815]  __rpm_callback+0xe0/0x178\n[    1.777559]  rpm_callback+0x24/0x88\n[    1.781041]  rpm_suspend+0xdc/0x470\n[    1.784523]  rpm_idle+0x12c/0x170\n[    1.787831]  pm_runtime_work+0xa8/0xc0\n[    1.791573]  process_one_work+0x1e8/0x360\n[    1.795580]  worker_thread+0x44/0x478\n[    1.799237]  kthread+0x150/0x158\n[    1.802460]  ret_from_fork+0x10/0x30\n[    1.806034] ---[ end trace 82402920ef64573b ]---\n[    1.810728] ------------[ cut here ]------------\n\nIn addition, we now don't need to enable the clock from the\nfunction mtk_iommu_hw_init since it is already enabled by the resume."
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "drivers/iommu/mtk_iommu.c"
               ],
               "versions": [
                  {
                     "version": "c0b57581b73b",
                     "lessThan": "5cad9e2caa96",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "c0b57581b73b",
                     "lessThan": "b34ea31fe013",
                     "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/iommu/mtk_iommu.c"
               ],
               "versions": [
                  {
                     "version": "5.12",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "5.12",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.12.4",
                     "lessThanOrEqual": "5.12.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "5.13",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/5cad9e2caa9613fdcd246bd4ebf0ffbec1cba2ca"
            },
            {
               "url": "https://git.kernel.org/stable/c/b34ea31fe013569d42b7e8681ef3f717f77c5b72"
            }
         ],
         "title": "iommu/mediatek: Always enable the clk on resume",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2021-47025",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
