FreeBSD src
Go to file
Konstantin Belousov 15822fcdbe Rev. 1.274 put the ttyrel() call before the destroy_dev() in the
ttyfree(), freeing the tty. Since destroy_dev() may call d_purge()
cdevsw method, that is the ttypurge() for the tty, the code ends up
accessing freed tty structure.

Put the ttyrel() after destroy_dev() in the ttyfree. To prevent the
panic the rev. 1.274 provided fix for, check the TS_GONE in sysctl
handler and refuse to provide information on such tty.

Reported, debugging help and tested by:	pho
DIscussed with and reviewed by:	jhb
MFC after:	1 week
2008-05-23 16:47:55 +00:00
bin Expand $LINENO to the current line number. This is required by SUSv3's "User 2008-05-15 19:55:27 +00:00
cddl Add the dtrace client app to the build. 2008-05-22 23:06:19 +00:00
contrib Document freebsd extensions to netcat a bit better: 2008-05-10 18:50:45 +00:00
crypto
etc Move the wait for a default route to rc.d/routing. Once we test for 2008-05-18 02:57:54 +00:00
games
gnu Add Juniper's copyright. 2008-05-20 22:58:47 +00:00
include Make this c++ compatible. 2008-05-16 02:06:10 +00:00
kerberos5 Add the hx509 error table. 2008-05-15 08:53:31 +00:00
lib Relax the strict type check because gcc as distributed doesn't create 2008-05-23 07:35:36 +00:00
libexec Make the meaning of the %A format specifier, as passed to 2008-05-15 10:47:14 +00:00
release Replace the ee with the ed to resolve disk overflow. 2008-05-13 11:51:19 +00:00
rescue
sbin This fixes the "getfile: lost data" panic when restoring dumps 2008-05-22 22:19:33 +00:00
secure
share Clean out all mentions of struct proc* for it was removed from 2008-05-22 21:41:19 +00:00
sys Rev. 1.274 put the ttyrel() call before the destroy_dev() in the 2008-05-23 16:47:55 +00:00
tools Flush stdout after each line to make piping to another command easier. 2008-05-19 17:51:00 +00:00
usr.bin The value le->name cannot be NULL when we're freeing an entry in the 2008-05-23 05:07:22 +00:00
usr.sbin Move sysinstall/sade away from TIOCGSIZE. 2008-05-23 14:24:33 +00:00
COPYRIGHT
LOCKS
MAINTAINERS
Makefile Add a knob to allow just the kernels to be built during a 'make universe'. 2008-05-23 04:20:59 +00:00
Makefile.inc1 Add the DTrace build tools to the list of tools and pass NO_CTF to all 2008-05-23 04:22:14 +00:00
ObsoleteFiles.inc
README
UPDATING

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html