aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-04-09 23:23:54 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-05-01 00:38:29 +0000
commitce8a17c2ba6cb1dba49d25c70b91ff8203ad816c (patch)
tree36f02830c3018b0691c5472528ca7a1bea1d4521
parent83f3bc609090aedb9b276e4f2b43e570857fd153 (diff)
downloadsrc-ce8a17c2ba6cb1dba49d25c70b91ff8203ad816c.tar.gz
src-ce8a17c2ba6cb1dba49d25c70b91ff8203ad816c.zip
amd64: clear debug registers on execing 32bit native binary
(cherry picked from commit d50adfec9ee73e88e8d365525f1acef2c1db798a)
-rw-r--r--sys/amd64/ia32/ia32_signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c
index 72f35af75b85..4342d6fb807d 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -971,6 +971,8 @@ ia32_setregs(struct thread *td, struct image_params *imgp, u_long stack)
regs->tf_gs = _ugssel;
regs->tf_flags = TF_HASSEGS;
+ x86_clear_dbregs(pcb);
+
fpstate_drop(td);
/* Return via doreti so that we can change to a different %cs */