The branch main has been updated by kevans:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=ec1bc530027f0f17cd7f3979b5df85fdd57a461f

commit ec1bc530027f0f17cd7f3979b5df85fdd57a461f
Author:     Kyle Evans <[email protected]>
AuthorDate: 2023-03-26 18:48:22 +0000
Commit:     Kyle Evans <[email protected]>
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)
 

Reply via email to