1*09ab7e4eSSascha Wildner.\" 2*09ab7e4eSSascha Wildner.\" Copyright (c) 1996 Joerg Wunsch 3*09ab7e4eSSascha Wildner.\" 4*09ab7e4eSSascha Wildner.\" All rights reserved. 5*09ab7e4eSSascha Wildner.\" 6*09ab7e4eSSascha Wildner.\" This program is free software. 7*09ab7e4eSSascha Wildner.\" 8*09ab7e4eSSascha Wildner.\" Redistribution and use in source and binary forms, with or without 9*09ab7e4eSSascha Wildner.\" modification, are permitted provided that the following conditions 10*09ab7e4eSSascha Wildner.\" are met: 11*09ab7e4eSSascha Wildner.\" 1. Redistributions of source code must retain the above copyright 12*09ab7e4eSSascha Wildner.\" notice, this list of conditions and the following disclaimer. 13*09ab7e4eSSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright 14*09ab7e4eSSascha Wildner.\" notice, this list of conditions and the following disclaimer in the 15*09ab7e4eSSascha Wildner.\" documentation and/or other materials provided with the distribution. 16*09ab7e4eSSascha Wildner.\" 17*09ab7e4eSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 18*09ab7e4eSSascha Wildner.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19*09ab7e4eSSascha Wildner.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20*09ab7e4eSSascha Wildner.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 21*09ab7e4eSSascha Wildner.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22*09ab7e4eSSascha Wildner.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23*09ab7e4eSSascha Wildner.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24*09ab7e4eSSascha Wildner.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25*09ab7e4eSSascha Wildner.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26*09ab7e4eSSascha Wildner.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27*09ab7e4eSSascha Wildner.\" 28*09ab7e4eSSascha Wildner.\" $FreeBSD: src/share/man/man4/man4.i386/io.4,v 1.6.2.4 2001/09/22 19:58:01 iedowse Exp $ 29*09ab7e4eSSascha Wildner.\" 30*09ab7e4eSSascha Wildner.Dd January 1, 1996 31*09ab7e4eSSascha Wildner.Dt IO 4 32*09ab7e4eSSascha Wildner.Os 33*09ab7e4eSSascha Wildner.Sh NAME 34*09ab7e4eSSascha Wildner.Nm io 35*09ab7e4eSSascha Wildner.Nd I/O privilege file 36*09ab7e4eSSascha Wildner.Sh DESCRIPTION 37*09ab7e4eSSascha WildnerThe special file 38*09ab7e4eSSascha Wildner.Pa /dev/io 39*09ab7e4eSSascha Wildneris a controlled security hole that allows a process to gain I/O 40*09ab7e4eSSascha Wildnerprivileges 41*09ab7e4eSSascha Wildner(which are normally reserved for kernel-internal code). 42*09ab7e4eSSascha WildnerAny process that holds a file descriptor on 43*09ab7e4eSSascha Wildner.Pa /dev/io 44*09ab7e4eSSascha Wildneropen will get its 45*09ab7e4eSSascha Wildner.Em IOPL 46*09ab7e4eSSascha Wildnerbits in the flag register set, thus allowing it to perform direct 47*09ab7e4eSSascha WildnerI/O operations. This can be useful in order to write userland 48*09ab7e4eSSascha Wildnerprograms that handle some hardware directly. 49*09ab7e4eSSascha WildnerNote that even read-only access will grant the full I/O privileges. 50*09ab7e4eSSascha Wildner.Pp 51*09ab7e4eSSascha WildnerIn addition to any file access permissions on 52*09ab7e4eSSascha Wildner.Pa /dev/io , 53*09ab7e4eSSascha Wildnerthe kernel enforces that only the super-user may open this device. 54*09ab7e4eSSascha Wildner.Sh FILES 55*09ab7e4eSSascha Wildner.Bl -tag -width Pa -compact 56*09ab7e4eSSascha Wildner.It Pa /dev/io 57*09ab7e4eSSascha Wildner.El 58*09ab7e4eSSascha Wildner.Sh SEE ALSO 59*09ab7e4eSSascha Wildner.Xr mem 4 60*09ab7e4eSSascha Wildner.Sh HISTORY 61*09ab7e4eSSascha WildnerThe 62*09ab7e4eSSascha Wildner.Nm 63*09ab7e4eSSascha Wildnerfile appeared in 64*09ab7e4eSSascha Wildner.Fx 1.0 . 65