diff options
author | iedowse <iedowse@FreeBSD.org> | 2001-01-31 15:16:56 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2001-01-31 15:16:56 +0000 |
commit | 1904591561496046db76a7fed4aeeca690042d13 (patch) | |
tree | ef636c0a52aac6793f045981adae1fe0bf96d9d8 /sys | |
parent | e8881fd42645233f9fbaa07357fcab52f7af647d (diff) | |
download | FreeBSD-src-1904591561496046db76a7fed4aeeca690042d13.zip FreeBSD-src-1904591561496046db76a7fed4aeeca690042d13.tar.gz |
Fsck_ffs did not properly range-check the inode 'di_size'
field, so it was possible for a filesystem marked clean by fsck_ffs
to cause kernel crashes later when mounted. This could occur when
fsck_ffs was used to repair a badly corrupted filesystem.
As pointed out by bde, it is not sufficient to restrict di_size to
just the superblock fs_maxfilesize limit. The use of 32-bit logical
block numbers (both in fsck and the kernel) induces another file
size limit which is usually lower than fs_maxfilesize. Also, the
old 4.3BSD filesystem does not have fs_maxfilesize initialised.
Following this change, fsck_ffs will enforce exactly the same
file size limits as are used by the kernel.
PR: kern/15065
Discussed with: bde
Reviewed by: bde, mckusick
Diffstat (limited to 'sys')
0 files changed, 0 insertions, 0 deletions