Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Apr 2021 13:52:44 GMT
From:      Mitchell Horne <mhorne@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 17b0a38d96fe - stable/13 - arm64: clear debug register state on fork
Message-ID:  <202104161352.13GDqi7q021960@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by mhorne:

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

commit 17b0a38d96feb77d4b019ab9108b2c5050273823
Author:     Mitchell Horne <mhorne@FreeBSD.org>
AuthorDate: 2021-04-07 19:23:46 +0000
Commit:     Mitchell Horne <mhorne@FreeBSD.org>
CommitDate: 2021-04-16 13:47:32 +0000

    arm64: clear debug register state on fork
    
    Following the analogous change for amd64 and i386 in 8223717ce62c,
    ensure that new processes start with these registers inactive.
    
    PR:             254661
    Reported by:    Michał Górny
    Reviewed by:    kib, emaste
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 1fd001db9c330f133708f3c04c8852f8b07cfed9)
---
 sys/arm64/arm64/vm_machdep.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/arm64/arm64/vm_machdep.c b/sys/arm64/arm64/vm_machdep.c
index ac2a47597a8c..b2ab8bb463b0 100644
--- a/sys/arm64/arm64/vm_machdep.c
+++ b/sys/arm64/arm64/vm_machdep.c
@@ -93,6 +93,9 @@ cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags)
 	td2->td_pcb = pcb2;
 	bcopy(td1->td_pcb, pcb2, sizeof(*pcb2));
 
+	/* Clear the debug register state. */
+	bzero(&pcb2->pcb_dbg_regs, sizeof(pcb2->pcb_dbg_regs));
+
 	tf = (struct trapframe *)STACKALIGN((struct trapframe *)pcb2 - 1);
 	bcopy(td1->td_frame, tf, sizeof(*tf));
 	tf->tf_x[0] = 0;



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