Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Mar 2023 19:21:49 GMT
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: ec1bc530027f - main - arm64: cpu_switch: don't zero out pcb_onfault
Message-ID:  <202303261921.32QJLn4M079200@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303261921.32QJLn4M079200>