freebsd kernel with SKQ
Go to file
Bruce Evans 1c1752872f Fixed breakage of mknod() in rev.1.48 of ext2_vnops.c and rev.1.126 of
ufs_vnops.c:

1) i_ino was confused with i_number, so the inode number passed to
   VFS_VGET() was usually wrong (usually 0U).
2) ip was dereferenced after vgone() freed it, so the inode number
   passed to VFS_VGET() was sometimes not even wrong.

Bug (1) was usually fatal in ext2_mknod(), since ext2fs doesn't have
space for inode 0 on the disk; ino_to_fsba() subtracts 1 from the
inode number, so inode number 0U gives a way out of bounds array
index.  Bug(1) was usually harmless in ufs_mknod(); ino_to_fsba()
doesn't subtract 1, and VFS_VGET() reads suitable garbage (all 0's?)
from the disk for the invalid inode number 0U; ufs_mknod() returns
a wrong vnode, but most callers just vput() it; the correct vnode is
eventually obtained by an implicit VFS_VGET() just like it used to be.

Bug (2) usually doesn't happen.
2000-11-04 08:10:56 +00:00
bin Remove obsolete /dev/drum references 2000-10-29 12:19:52 +00:00
contrib Fix another possible bufer overflow in top. 2000-11-03 22:00:10 +00:00
crypto Add a CVS Id tag 2000-10-29 10:00:58 +00:00
etc use ``config auto "ata" ?'' for DHU Mobile Media CD-ROM 2000-11-04 08:10:12 +00:00
games Correct a bignum. 2000-10-31 07:20:46 +00:00
gnu Tell libgcc_r how to initialize a mutex before it uses it. This 2000-11-01 01:18:27 +00:00
include Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
kerberos5 Fix ordering for real this time. 2000-08-30 03:44:30 +00:00
kerberosIV Remove the last vestiges of libRSAglue now that it's an empty stub. 2000-03-11 22:34:10 +00:00
lib More secure temporary filename. This needs to be revisited to use 2000-11-02 10:14:09 +00:00
libexec Filter out some more magic environment variables used by libraries linked 2000-10-31 05:29:54 +00:00
release Crunchgen now has the necessary magic to include the make hooks that 2000-11-03 15:50:04 +00:00
sbin Build with -DUSE_INET6 so that we can actually use the IPv6 support in 2000-10-31 22:29:27 +00:00
secure Fix up the build for the STARTTLS version of sendmail (again). This method 2000-10-24 16:04:56 +00:00
share State that using optimization level above -O for kernel builds isn't smart. 2000-11-02 22:14:59 +00:00
sys Fixed breakage of mknod() in rev.1.48 of ext2_vnops.c and rev.1.126 of 2000-11-04 08:10:56 +00:00
tools The latest & greatest unused #include spotter. Faster, one-pass and 2000-10-28 21:44:05 +00:00
usr.bin Good-bye cruel world. 2000-11-02 10:04:02 +00:00
usr.sbin Cause prog_make targets to include a ``make obj'' rule if the -o flag 2000-11-03 15:48:58 +00:00
COPYRIGHT Update to add the July 22, 1999 addendum. 1999-09-05 21:33:47 +00:00
Makefile Pass the reinstallkernel target through from Makefile to Makefile.inc1. 2000-09-19 11:15:40 +00:00
Makefile.inc1 * Bring back the guts of crt{i,n}.S. This allows C++ exceptions to work 2000-10-28 21:26:48 +00:00
Makefile.upgrade $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README Slightly improve the description of "crypto". "DES" is a subset of 2000-08-31 17:59:01 +00:00
UPDATING Try to catchup with my UPDATING backlog: 2000-11-03 07:04:43 +00:00

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
``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/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 have to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/i386/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.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

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/handbook/synching.html