Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22cfbb6d authored by Marc Zyngier's avatar Marc Zyngier Committed by Christoffer Dall
Browse files

ARM: KVM: clear exclusive monitor on all exception returns



Make sure we clear the exclusive monitor on all exception returns,
which otherwise could lead to lock corruptions.

Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
parent 479c5ae2
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -292,6 +292,7 @@ THUMB( orr r2, r2, #PSR_T_BIT )
	ldr	r2, =BSYM(panic)
	msr	ELR_hyp, r2
	ldr	r0, =\panic_str
	clrex				@ Clear exclusive monitor
	eret
.endm

@@ -441,6 +442,7 @@ guest_trap:

4:	pop	{r0, r1}		@ Failed translation, return to guest
	mcrr	p15, 0, r0, r1, c7	@ PAR
	clrex
	pop	{r0, r1, r2}
	eret

@@ -467,6 +469,7 @@ switch_to_guest_vfp:

	pop	{r3-r7}
	pop	{r0-r2}
	clrex
	eret
#endif