Home
last modified time | relevance | path

Searched hist:"18 e8c5336c7e18b0959be9fad78777fe1cc0383b" (Results 1 – 2 of 2) sorted by relevance

/optee_os/core/arch/arm/kernel/
H A Dunwind_arm32.c18e8c5336c7e18b0959be9fad78777fe1cc0383b Mon Oct 10 16:25:13 UTC 2016 Jerome Forissier <jerome.forissier@linaro.org> arm32: unwind: print_stack(): fix unwind_state

print_stack() must save r7 and r11 in the unwind_state structure. Not
doing so will likely result in a crash dunring unwind.
Register r7 is typically used as a frame pointer by GCC in Thumb2 mode,
while r11 (a.k.a. fp) is the frame pointer in ARM mode.

Also, set PC to the beginning of print_stack() since there's no point
in going further inside the function.

Fixes: https://github.com/OP-TEE/optee_os/issues/1069
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU)
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
/optee_os/core/arch/arm/include/
H A Darm32.h18e8c5336c7e18b0959be9fad78777fe1cc0383b Mon Oct 10 16:25:13 UTC 2016 Jerome Forissier <jerome.forissier@linaro.org> arm32: unwind: print_stack(): fix unwind_state

print_stack() must save r7 and r11 in the unwind_state structure. Not
doing so will likely result in a crash dunring unwind.
Register r7 is typically used as a frame pointer by GCC in Thumb2 mode,
while r11 (a.k.a. fp) is the frame pointer in ARM mode.

Also, set PC to the beginning of print_stack() since there's no point
in going further inside the function.

Fixes: https://github.com/OP-TEE/optee_os/issues/1069
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU)
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>