aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2019-05-04 19:40:30 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2019-05-04 19:40:30 +0000
commitecaed009a9743ac085227b3740ea80f5ffc5063d (patch)
treef2f835ed096aae7a57083a12d6d5624792bd9610
parent5408c6db4e7ad376833275286e814aa780a7718e (diff)
arm64: Properly restore PAN when done with userspace access in casueword.
Approved by: andrew Sponsored by: The FreeBSD Foundation MFC after: 1 week
Notes
Notes: svn path=/head/; revision=347133
-rw-r--r--sys/arm64/arm64/support.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arm64/arm64/support.S b/sys/arm64/arm64/support.S
index 4b4d34469126..f936cab4e2cd 100644
--- a/sys/arm64/arm64/support.S
+++ b/sys/arm64/arm64/support.S
@@ -64,8 +64,8 @@ ENTRY(casueword32)
b.ne 2f /* Not equal, exit */
stxr w5, w3, [x0] /* Store the new data */
cbnz w5, 1b /* Retry on failure */
- EXIT_USER_ACCESS(w6)
-2: SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
+2: EXIT_USER_ACCESS(w6)
+ SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
str w4, [x2] /* Store the read data */
mov x0, #0 /* Success */
ret /* Return */
@@ -86,8 +86,8 @@ ENTRY(casueword)
b.ne 2f /* Not equal, exit */
stxr w5, x3, [x0] /* Store the new data */
cbnz w5, 1b /* Retry on failure */
- EXIT_USER_ACCESS(w6)
-2: SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
+2: EXIT_USER_ACCESS(w6)
+ SET_FAULT_HANDLER(xzr, x5) /* Reset the fault handler */
str x4, [x2] /* Store the read data */
mov x0, #0 /* Success */
ret /* Return */