freebsd-skq/sys/ufs/ufs
bde fee8e1a16f 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
..
dinode.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dir.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
extattr.h o Correct use of lockdestroy() by adding a new ufs_extattr_uepm_destroy() 2000-10-04 04:41:33 +00:00
inode.h Add a lock structure to vnode structure. Previously it was either allocated 2000-09-25 15:24:04 +00:00
quota.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ufs_bmap.c This patch corrects the first round of panics and hangs reported 2000-07-24 05:28:33 +00:00
ufs_extattr.c o Sanity check was inverted, resulting in a possible spurious panic 2000-10-09 20:04:39 +00:00
ufs_extern.h Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
ufs_ihash.c Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
ufs_inode.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
ufs_lookup.c o Introduce new VOP_ACCESS() flag VADMIN, allowing file systems to perform 2000-10-19 07:53:59 +00:00
ufs_quota.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
ufs_readwrite.c o Substitute suser() calls for direct credential checks, which is now 2000-09-18 16:13:02 +00:00
ufs_vfsops.c Add a missing <sys/systm.h> 2000-10-30 20:37:19 +00:00
ufs_vnops.c 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
ufsmount.h Introduce extended attribute support for FFS, allowing arbitrary 2000-04-15 03:34:27 +00:00