diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1998-07-09 18:22:26 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1998-07-09 18:22:26 +0000 |
commit | 9eb028107f09b6d8ac0b7cc5d8484e3d4ec305bd (patch) | |
tree | 29f6ea98b555af6a0cfef0649deed642f3b3fb2d /sys/arch/i386/isa/pccons.c | |
parent | 468a6f3f59475078b14e116d6e69d30cf08dd119 (diff) |
never set PSL_IOPL at high securelevel (except the one xf86 case, controlled by the aperture driver; problem noted by csapuntz
Diffstat (limited to 'sys/arch/i386/isa/pccons.c')
-rw-r--r-- | sys/arch/i386/isa/pccons.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/arch/i386/isa/pccons.c b/sys/arch/i386/isa/pccons.c index 0bdf2e7446e..f66652a2358 100644 --- a/sys/arch/i386/isa/pccons.c +++ b/sys/arch/i386/isa/pccons.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pccons.c,v 1.40 1998/03/16 09:12:39 downsj Exp $ */ +/* $OpenBSD: pccons.c,v 1.41 1998/07/09 18:22:25 deraadt Exp $ */ /* $NetBSD: pccons.c,v 1.99.4.1 1996/06/04 20:03:53 cgd Exp $ */ /*- @@ -1919,7 +1919,8 @@ pc_xmode_on() #ifdef COMPAT_10 /* This is done by i386_iopl(3) now. */ fp = curproc->p_md.md_regs; - fp->tf_eflags |= PSL_IOPL; + if (securelevel <= 0) + fp->tf_eflags |= PSL_IOPL; #endif } @@ -1940,6 +1941,7 @@ pc_xmode_off() screen_restore(0); fp = curproc->p_md.md_regs; - fp->tf_eflags &= ~PSL_IOPL; + if (securelevel <= 0) + fp->tf_eflags &= ~PSL_IOPL; } #endif /* XSERVER */ |