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)