summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2008-03-17 23:17:25 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2008-03-17 23:17:25 +0000
commit8e1b20e96583f0f505eb9151e889fc9ca74b54d9 (patch)
treefa521d2caadf100b67bb8b61d8d21f4e65ead3c3 /sys/arch
parentdda7c0e0512552139387a8a615e8ca296347316d (diff)
Clear PSL_D when entering signal handlers; pointed out by dfly people;
ok kettenis
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/amd64/machdep.c4
-rw-r--r--sys/arch/i386/i386/machdep.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/amd64/amd64/machdep.c b/sys/arch/amd64/amd64/machdep.c
index d4d6d581be4..df38e5e8936 100644
--- a/sys/arch/amd64/amd64/machdep.c
+++ b/sys/arch/amd64/amd64/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.67 2007/12/11 17:53:18 deraadt Exp $ */
+/* $OpenBSD: machdep.c,v 1.68 2008/03/17 23:17:24 deraadt Exp $ */
/* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */
/*-
@@ -659,7 +659,7 @@ sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_rip = (u_int64_t)p->p_sigcode;
tf->tf_cs = LSEL(LUCODE_SEL, SEL_UPL);
- tf->tf_rflags &= ~(PSL_T|PSL_VM|PSL_AC);
+ tf->tf_rflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_rsp = scp;
tf->tf_ss = LSEL(LUDATA_SEL, SEL_UPL);
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index 3510aacce03..9cf9207dddc 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.418 2008/02/18 16:31:55 kettenis Exp $ */
+/* $OpenBSD: machdep.c,v 1.419 2008/03/17 23:17:22 deraadt Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -2271,7 +2271,7 @@ sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
if (i386_use_fxsave)
tf->tf_eip += &sigcode_xmm - &sigcode;
- tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC);
+ tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL);
}