Hi Baruch,
Thanks for the submission. Your patch looks good and I'll submit it on Gerrit: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/18115
On Thu, Nov 24, 2022 at 12:34 AM Baruch Siach baruch@tkos.co.il wrote:
Current code skips load of spinlock address when cache is disabled. The following call to spin_unlock stores into the random location that x0 points to.
Move spinlock address load earlier so that x0 is always valid on spin_unlock call.
Change-Id: Iac640289725dce2518f2fed483d7d36ca748ffe8 Signed-off-by: Baruch Siach baruch@tkos.co.il
I'm posting this patch here since I have found no way to upload to review.trustedfirmware.org. I logged in via github, but I can not add SSH keys ("New SSH Key" grayed out), and "GENERATE NEW PASSWORD" shows Error 500.
Hope this is not too wrong.
plat/common/aarch64/crash_console_helpers.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/plat/common/aarch64/crash_console_helpers.S b/plat/common/aarch64/crash_console_helpers.S index e2950f5f7c55..75b420893325 100644 --- a/plat/common/aarch64/crash_console_helpers.S +++ b/plat/common/aarch64/crash_console_helpers.S @@ -68,12 +68,12 @@ func plat_crash_console_init mov x4, x30 /* x3 and x4 are not clobbered by spin_lock() */ mov x3, #0 /* return value */
adrp x0, crash_console_spinlock
add x0, x0, :lo12:crash_console_spinlock
mrs x1, sctlr_el3 tst x1, #SCTLR_C_BIT beq skip_spinlock /* can't synchronize when cache disabled */
adrp x0, crash_console_spinlock
add x0, x0, :lo12:crash_console_spinlock bl spin_lock
skip_spinlock:
2.35.1