In the Linux kernel, the following vulnerability has been resolved:
iommu/mediatek: Always enable the clk on resume In mtk_iommu_runtime_resume
always enable the clk, even if m4u_dom is null. Otherwise the ‘suspend’ cb
might disable the clk which is already disabled causing the warning: [
1.586104] infra_m4u already disabled [ 1.586133] WARNING: CPU: 0 PID: 121
at drivers/clk/clk.c:952 clk_core_disable+0xb0/0xb8 [ 1.594391] mtk-iommu
10205000.iommu: bound 18001000.larb (ops mtk_smi_larb_component_ops) [
1.598108] Modules linked in: [ 1.598114] CPU: 0 PID: 121 Comm: kworker/0:2
Not tainted 5.12.0-rc5 #69 [ 1.609246] mtk-iommu 10205000.iommu: bound
14027000.larb (ops mtk_smi_larb_component_ops) [ 1.617487] Hardware name:
Google Elm (DT) [ 1.617491] Workqueue: pm pm_runtime_work [ 1.620545]
mtk-iommu 10205000.iommu: bound 19001000.larb (ops
mtk_smi_larb_component_ops) [ 1.627229] pstate: 60000085 (nZCv daIf -PAN
-UAO -TCO BTYPE=–) [ 1.659297] pc : clk_core_disable+0xb0/0xb8 [ 1.663475]
lr : clk_core_disable+0xb0/0xb8 [ 1.667652] sp : ffff800011b9bbe0 [
1.670959] x29: ffff800011b9bbe0 x28: 0000000000000000 [ 1.676267] x27:
ffff800011448000 x26: ffff8000100cfd98 [ 1.681574] x25: ffff800011b9bd48
x24: 0000000000000000 [ 1.686882] x23: 0000000000000000 x22:
ffff8000106fad90 [ 1.692189] x21: 000000000000000a x20: ffff0000c0048500 [
1.697496] x19: ffff0000c0048500 x18: ffffffffffffffff [ 1.702804] x17:
0000000000000000 x16: 0000000000000000 [ 1.708112] x15: ffff800011460300
x14: fffffffffffe0000 [ 1.713420] x13: ffff8000114602d8 x12:
0720072007200720 [ 1.718727] x11: 0720072007200720 x10: 0720072007200720 [
1.724035] x9 : ffff800011b9bbe0 x8 : ffff800011b9bbe0 [ 1.729342] x7 :
0000000000000009 x6 : ffff8000114b8328 [ 1.734649] x5 : 0000000000000000 x4
: 0000000000000000 [ 1.739956] x3 : 00000000ffffffff x2 : ffff800011460298
[ 1.745263] x1 : 1af1d7de276f4500 x0 : 0000000000000000 [ 1.750572] Call
trace: [ 1.753010] clk_core_disable+0xb0/0xb8 [ 1.756840]
clk_core_disable_lock+0x24/0x40 [ 1.761105] clk_disable+0x20/0x30 [
1.764501] mtk_iommu_runtime_suspend+0x88/0xa8 [ 1.769114]
pm_generic_runtime_suspend+0x2c/0x48 [ 1.773815] __rpm_callback+0xe0/0x178
[ 1.777559] rpm_callback+0x24/0x88 [ 1.781041] rpm_suspend+0xdc/0x470 [
1.784523] rpm_idle+0x12c/0x170 [ 1.787831] pm_runtime_work+0xa8/0xc0 [
1.791573] process_one_work+0x1e8/0x360 [ 1.795580] worker_thread+0x44/0x478
[ 1.799237] kthread+0x150/0x158 [ 1.802460] ret_from_fork+0x10/0x30 [
1.806034] —[ end trace 82402920ef64573b ]— [ 1.810728] ------------[
cut here ]------------ In addition, we now don’t need to enable the clock
from the function mtk_iommu_hw_init since it is already enabled by the
resume.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
ubuntu | 18.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 20.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 23.10 | noarch | linux | < any | UNKNOWN |
ubuntu | 24.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 14.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 16.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 18.04 | noarch | linux-aws | < any | UNKNOWN |
ubuntu | 20.04 | noarch | linux-aws | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux-aws | < any | UNKNOWN |
git.kernel.org/linus/b34ea31fe013569d42b7e8681ef3f717f77c5b72 (5.13-rc1)
git.kernel.org/stable/c/5cad9e2caa9613fdcd246bd4ebf0ffbec1cba2ca
git.kernel.org/stable/c/b34ea31fe013569d42b7e8681ef3f717f77c5b72
launchpad.net/bugs/cve/CVE-2021-47025
nvd.nist.gov/vuln/detail/CVE-2021-47025
security-tracker.debian.org/tracker/CVE-2021-47025
www.cve.org/CVERecord?id=CVE-2021-47025