lib: cpus: aarch32: sanity check pointers before use

This is the AARCH32 update of patch [1].

 [1] 601e3ed209 ("lib: cpus: sanity check pointers before use")

Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
Change-Id: I43dbe00a5802a7e1c6f877e22d1c66ec8275c6fa
This commit is contained in:
Yann Gautier 2021-02-23 14:50:44 +01:00
parent 1272391ee1
commit e3b9cc1262

View file

@ -78,6 +78,10 @@ func prepare_cpu_pwr_dwn
mov r1, #CPU_PWR_DWN_OPS
add r1, r1, r2, lsl #2
ldr r1, [r0, r1]
#if ENABLE_ASSERTIONS
cmp r1, #0
ASM_ASSERT(ne)
#endif
bx r1
endfunc prepare_cpu_pwr_dwn
@ -146,6 +150,10 @@ func get_cpu_ops_ptr
/* Subtract the increment and offset to get the cpu-ops pointer */
sub r0, r4, #(CPU_OPS_SIZE + CPU_MIDR)
#if ENABLE_ASSERTIONS
cmp r0, #0
ASM_ASSERT(ne)
#endif
error_exit:
bx lr
endfunc get_cpu_ops_ptr
@ -224,7 +232,15 @@ func print_errata_status
* function. If it's non-NULL, jump to the function in turn.
*/
bl _cpu_data
#if ENABLE_ASSERTIONS
cmp r0, #0
ASM_ASSERT(ne)
#endif
ldr r1, [r0, #CPU_DATA_CPU_OPS_PTR]
#if ENABLE_ASSERTIONS
cmp r1, #0
ASM_ASSERT(ne)
#endif
ldr r0, [r1, #CPU_ERRATA_FUNC]
cmp r0, #0
beq 1f