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