git: ec1bc530027f - main - arm64: cpu_switch: don't zero out pcb_onfault
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 26 Mar 2023 19:21:49 UTC
The branch main has been updated by kevans:
URL: https://cgit.FreeBSD.org/src/commit/?id=ec1bc530027f0f17cd7f3979b5df85fdd57a461f
commit ec1bc530027f0f17cd7f3979b5df85fdd57a461f
Author: Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2023-03-26 18:48:22 +0000
Commit: Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2023-03-26 18:48:22 +0000
arm64: cpu_switch: don't zero out pcb_onfault
Previously this would zero out x18 in the pcb, now it's attacking the
innocent pcb_onfault -- drop it entirely.
This technically fixes
e605b87a9e7 ("Save only callee-saved registers in pcb"), but it's
harmless until the below commit trims down pcb_x.
Reported by: mmel
Reviewed by: andrew, mmel
Fixes: 1c1f31a5e517 ("Remove unused registes from the arm pcb")
Differential Revision: https://reviews.freebsd.org/D39277
---
sys/arm64/arm64/swtch.S | 1 -
1 file changed, 1 deletion(-)
diff --git a/sys/arm64/arm64/swtch.S b/sys/arm64/arm64/swtch.S
index 538235d7b3e8..656ab9c864b7 100644
--- a/sys/arm64/arm64/swtch.S
+++ b/sys/arm64/arm64/swtch.S
@@ -203,7 +203,6 @@ ENTRY(cpu_switch)
ldp x27, x28, [x4, #PCB_REGS + (PCB_X19 + 8) * 8]
ldp x29, lr, [x4, #PCB_REGS + (PCB_X19 + 10) * 8]
- str xzr, [x4, #PCB_REGS + 18 * 8]
ret
END(cpu_switch)