Alexandros Lamprineas 1bd5ea968e [ARM] Mitigate the cve-2021-35465 security vulnurability.
Recently a vulnerability issue is found in the implementation of VLLDM
instruction in the Arm Cortex-M33, Cortex-M35P and Cortex-M55. If the
VLLDM instruction is abandoned due to an exception when it is partially
completed, it is possible for subsequent non-secure handler to access
and modify the partial restored register values. This vulnerability is
identified as CVE-2021-35465.

The mitigation sequence varies between v8-m and v8.1-m as follows:

v8-m.main
---------
mrs        r5, control
tst        r5, #8       /* CONTROL_S.SFPA */
it         ne
.inst.w    0xeeb00a40   /* vmovne s0, s0 */
1:
vlldm      sp           /* Lazy restore of d0-d16 and FPSCR. */

v8.1-m.main
-----------
vscclrm    {vpr}        /* Clear VPR. */
vlldm      sp           /* Lazy restore of d0-d16 and FPSCR. */

More details on
developer.arm.com/support/arm-security-updates/vlldm-instruction-security-vulnerability

Differential Revision: https://reviews.llvm.org/D109157
2021-09-16 12:56:43 +01:00
..
2021-07-07 10:21:07 +01:00
2021-07-01 21:08:13 +01:00
2020-06-18 17:26:24 +01:00
2020-12-08 11:54:39 +00:00
2019-10-08 08:25:42 +00:00
2020-04-09 10:36:00 +01:00
2021-03-17 15:29:02 +00:00
2019-12-12 13:51:39 +00:00
2019-10-08 16:16:26 +00:00
2020-02-20 13:54:43 +00:00
2020-01-21 10:40:17 +00:00
2020-12-08 11:54:39 +00:00
2020-07-16 11:25:53 +01:00
2019-10-08 08:25:42 +00:00
2020-10-07 11:47:03 +01:00
2020-12-08 11:54:39 +00:00
2019-11-04 13:37:01 +00:00
2019-10-08 08:25:42 +00:00