aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-04-09 23:23:54 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-04-23 11:14:08 +0000
commitf6b3c49256edd4f402393a1d0276bd3ff3b5d458 (patch)
treef2b79d9d2bb81b726853f44f768ddc4c2fdb9ae0
parent0d511482557677ef7aecb3109955d1596d5cf9d9 (diff)
downloadsrc-f6b3c49256edd4f402393a1d0276bd3ff3b5d458.tar.gz
src-f6b3c49256edd4f402393a1d0276bd3ff3b5d458.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 51dd1f38090f..c114cf1d240a 100644
--- a/sys/amd64/ia32/ia32_signal.c
+++ b/sys/amd64/ia32/ia32_signal.c
@@ -968,6 +968,8 @@ ia32_setregs(struct thread *td, struct image_params *imgp, uintptr_t 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 */