xref: /dflybsd-src/share/man/man4/io.4 (revision 09ab7e4ea7d3a5476ab60148ed6fa1b8a0e61b0c)
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