TZASC misconfiguration on i.mx8m
Richard Weinberger
richard at sigma-star.at
Fri Jun 5 16:52:10 CEST 2026
CC'ing Ye Li.
On Donnerstag, 4. Juni 2026 19:24 Richard Weinberger wrote:
> Hello!
>
> FYI, in arch/arm/mach-imx/imx8m/soc.c enable_tzc380() U-Boot configures
> region0 to allow secure and non-secure world access.
> This is known to be problematic and allows circumventing the TrustZone due to
> memory aliasing[0][1].
>
> It causes also recent OP-TEE to panic at startup:
> E/TC:0 0 Panic 'region0 is not secure configured, non-secure memory alias access possible!' at core/arch/arm/plat-imx/tzc380.c:217 <imx_configure_tzasc>
>
> This is not a theoretical issue.
> On my i.mx8mm evk Board I was able to exploit this and dump all OP-TEE memory from Linux.
I suggest reverting commit b3cf0a8f03d162e030cde1131751d060853e16fc
Author: Ye Li <ye.li at nxp.com>
Date: Tue Aug 27 06:25:34 2019 +0000
imx8m: Configure trustzone region 0 for non-secure access
Set trustzone region 0 to allow both non-secure and secure access
when trust zone is enabled. We found USB controller fails to access
DDR if the default region 0 is secure access only.
Signed-off-by: Ye Li <ye.li at nxp.com>
Signed-off-by: Peng Fan <peng.fan at nxp.com>
Thanks,
//richard
--
sigma star gmbh | Eduard-Bodem-Gasse 6, 6020 Innsbruck, AUT UID/VAT Nr:
ATU 66964118 | FN: 374287y
More information about the U-Boot
mailing list