projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
479c5ae
)
ARM: KVM: clear exclusive monitor on all exception returns
author
Marc Zyngier
<marc.zyngier@arm.com>
Fri, 21 Jun 2013 12:08:48 +0000
(13:08 +0100)
committer
Christoffer Dall
<christoffer.dall@linaro.org>
Wed, 26 Jun 2013 17:50:05 +0000
(10:50 -0700)
Make sure we clear the exclusive monitor on all exception returns,
which otherwise could lead to lock corruptions.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm/kvm/interrupts.S
patch
|
blob
|
blame
|
history
diff --git
a/arch/arm/kvm/interrupts.S
b/arch/arm/kvm/interrupts.S
index 20e03d9695589057dd0001c39997dc38947d532a..16cd4ba5d7fd6d0ff0781da759712167cbc17508 100644
(file)
--- a/
arch/arm/kvm/interrupts.S
+++ b/
arch/arm/kvm/interrupts.S
@@
-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