summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Walle <[email protected]>2026-05-06 14:34:11 +0200
committerPeng Fan <[email protected]>2026-05-15 19:28:29 +0800
commit09bc47cc337522b4b8fe8ed037676d1601547f91 (patch)
tree0e7bfa9f9b2467c024bbdc55427e7fb714057eac
parent674f35a88478cf6513285bbfbe8b820af43b828f (diff)
caam: don't write memory at 0 on PPC
For non-secure boot environments pamu_init() isn't called but the CAAM will still call sec_config_pamu_table() -> config_pamu() which then uses an uninitialized ppaact variable. In fact, that variable is initialized with 0, so the config_pamu() will happily assume the structure is there and will operate on that memory. Call pamu_init() in the non-secure boot case, too. Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Peng Fan <[email protected]>
-rw-r--r--arch/powerpc/cpu/mpc85xx/cpu_init.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index 739d14f8002..414782c835f 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -41,10 +41,12 @@
#ifdef CONFIG_FSL_CAAM
#include <fsl_sec.h>
#endif
-#if defined(CONFIG_NXP_ESBC) && defined(CONFIG_FSL_CORENET)
+#if defined(CONFIG_FSL_CORENET)
#include <asm/fsl_pamu.h>
+#if defined(CONFIG_NXP_ESBC)
#include <fsl_secboot_err.h>
#endif
+#endif
#ifdef CONFIG_SYS_QE_FMAN_FW_IN_NAND
#include <nand.h>
#include <errno.h>
@@ -899,6 +901,8 @@ int cpu_init_r(void)
#if defined(CONFIG_NXP_ESBC) && defined(CONFIG_FSL_CORENET)
if (pamu_init() < 0)
fsl_secboot_handle_error(ERROR_ESBC_PAMU_INIT);
+#elif defined(CONFIG_FSL_CORENET)
+ pamu_init();
#endif
#ifdef CONFIG_FSL_CAAM