freebsd-dev/sys/ufs/ufs
Kirk McKusick 15e549f668 Bug fixes for currently harmless bugs that could rise to bite
the unwary if the code were called in slightly different ways.

1) In ufs_bmaparray() the code for calculating 'runb' will stop one block
short of the first entry in an indirect block. i.e. if an indirect block
contains N block numbers b[0]..b[N-1] then the code will never check if
b[0] and b[1] are sequential. For reference, compare with the equivalent
code that deals with direct blocks.

2) In ufs_lookup() there is an off-by-one error in the test that checks
if dp->i_diroff is outside the range of the the current directory size.
This is completely harmless, since the following while-loop condition
'dp->i_offset < endsearch' is never met, so the code immediately
does a second pass starting at dp->i_offset = 0.

3) Again in ufs_lookup(), the condition in a sanity check is wrong
for directories that are longer than one block. This bug means that
the sanity check is only effective for small directories.

Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
2000-03-15 07:18:15 +00:00
..
dinode.h
dir.h
inode.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
quota.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
ufs_bmap.c Bug fixes for currently harmless bugs that could rise to bite 2000-03-15 07:18:15 +00:00
ufs_disksubr.c
ufs_extern.h Several performance improvements for soft updates have been added: 2000-01-10 00:24:24 +00:00
ufs_ihash.c
ufs_inode.c
ufs_lookup.c Bug fixes for currently harmless bugs that could rise to bite 2000-03-15 07:18:15 +00:00
ufs_quota.c
ufs_readwrite.c
ufs_vfsops.c
ufs_vnops.c After much consulting with bde, concluded that this fix was the best fix 2000-02-22 03:56:58 +00:00
ufsmount.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00