diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2008-03-17 23:17:25 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2008-03-17 23:17:25 +0000 |
commit | 8e1b20e96583f0f505eb9151e889fc9ca74b54d9 (patch) | |
tree | fa521d2caadf100b67bb8b61d8d21f4e65ead3c3 /sys/arch | |
parent | dda7c0e0512552139387a8a615e8ca296347316d (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.c | 4 | ||||
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 4 |
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); } |