CVE-2020-36787
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
28/02/2024
Last modified:
11/12/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
media: aspeed: fix clock handling logic<br />
<br />
Video engine uses eclk and vclk for its clock sources and its reset<br />
control is coupled with eclk so the current clock enabling sequence works<br />
like below.<br />
<br />
Enable eclk<br />
De-assert Video Engine reset<br />
10ms delay<br />
Enable vclk<br />
<br />
It introduces improper reset on the Video Engine hardware and eventually<br />
the hardware generates unexpected DMA memory transfers that can corrupt<br />
memory region in random and sporadic patterns. This issue is observed<br />
very rarely on some specific AST2500 SoCs but it causes a critical<br />
kernel panic with making a various shape of signature so it&#39;s extremely<br />
hard to debug. Moreover, the issue is observed even when the video<br />
engine is not actively used because udevd turns on the video engine<br />
hardware for a short time to make a query in every boot.<br />
<br />
To fix this issue, this commit changes the clock handling logic to make<br />
the reset de-assertion triggered after enabling both eclk and vclk. Also,<br />
it adds clk_unprepare call for a case when probe fails.<br />
<br />
clk: ast2600: fix reset settings for eclk and vclk<br />
Video engine reset setting should be coupled with eclk to match it<br />
with the setting for previous Aspeed SoCs which is defined in<br />
clk-aspeed.c since all Aspeed SoCs are sharing a single video engine<br />
driver. Also, reset bit 6 is defined as &#39;Video Engine&#39; reset in<br />
datasheet so it should be de-asserted when eclk is enabled. This<br />
commit fixes the setting.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.0 (including) | 5.4.119 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.37 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.11.21 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.12 (including) | 5.12.4 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7
- https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a
- https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7
- https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02
- https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5
- https://git.kernel.org/stable/c/1dc1d30ac101bb8335d9852de2107af60c2580e7
- https://git.kernel.org/stable/c/2964c37563e86cfdc439f217eb3c5a69adfdba6a
- https://git.kernel.org/stable/c/3536169f8531c2c5b153921dc7d1ac9fd570cda7
- https://git.kernel.org/stable/c/75321dc8aebe3f30eff226028fe6da340fe0bf02
- https://git.kernel.org/stable/c/a59d01384c80a8a4392665802df57c3df20055f5



