Fork of e2fsprogs with inode table reallocator
 
 
 
 
 
 
Go to file
Darrick J. Wong 203e13cf9c libext2fs: fix bounds check of the bitmap test range in get_free_blocks2
In the loop in ext2fs_get_free_blocks2, we ask the bitmap if there's a
range of free blocks starting at "b" and ending at "b + num - 1".
That quantity is the number of the last block in the range.  Since
ext2fs_blocks_count() returns the number of blocks and not the number
of the last block in the filesystem, the check is incorrect.

Put in a shortcut to exit the loop if finish > start, because in that
case it's obvious that we don't need to reset to the beginning of the
FS to continue the search for blocks.  This is needed to terminate the
loop because the broken test meant that b could get large enough to
equal finish, which would end the while loop.

The attached testcase shows that with the off by one error, it is
possible to throw e2fsck into an infinite loop while it tries to
find space for the inode table even though there's no space for one.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-07-25 07:11:57 -04:00
config Update to latest version of config.* files 2014-07-04 23:49:39 -04:00
contrib tests: avoid using mktemp -t 2014-07-04 16:39:49 -04:00
debian debian: update changelog for 1.42.10-2 release 2014-07-13 16:18:38 -04:00
debugfs debugfs: allow bmap to allocate blocks 2014-07-22 13:52:25 -04:00
doc Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
e2fsck e2fsck: fix off-by-one bounds check on group number 2014-07-24 22:19:27 -04:00
ext2ed Add coverage testing using gcov 2014-02-23 00:17:09 -05:00
include/nonunix Remove trailing whitespace for the entire source tree 2008-08-27 23:07:54 -04:00
install-utils Remove Changelog files since they're not used after the git migration 2007-07-08 08:50:41 -04:00
intl Add coverage testing using gcov 2014-02-23 00:17:09 -05:00
lib libext2fs: fix bounds check of the bitmap test range in get_free_blocks2 2014-07-25 07:11:57 -04:00
misc e4defrag: backwards-allocated files should be defragmented too 2014-07-22 12:40:56 -04:00
po po: update fr.po (from translationproject.org) 2014-07-13 13:12:51 -04:00
resize e2fsprogs: introduce ext2fs_close_free() helper 2014-07-05 21:06:48 -04:00
tests libext2fs: fix bounds check of the bitmap test range in get_free_blocks2 2014-07-25 07:11:57 -04:00
util fix cross-compilation support 2014-07-05 20:49:52 -04:00
.gitignore Use a wildcard for static libs in the git ignore list 2014-07-12 11:57:27 -04:00
.hgignore Ignore quilt work files 2005-07-19 08:41:27 -05:00
.missing-copyright Many files: 1997-04-29 16:15:03 +00:00
.release-checklist Update release checklist to include reminder to update translation 2008-07-10 17:25:22 -04:00
ABOUT-NLS Update to gettext 0.11.5. We now enable NLS support by default. 2003-05-03 16:35:17 -04:00
COPYING Clarify the copyright licenses used by the various libraries in COPYING 2007-06-23 01:04:53 -04:00
INSTALL Add a comment in INSTALL regarding --disable-tls on older systems 2008-07-10 09:08:44 -04:00
INSTALL.elfbin ChangeLog, INSTALL.elfbin: 1999-01-02 04:15:29 +00:00
MCONFIG.in fix cross-compilation support 2014-07-05 20:49:52 -04:00
Makefile.in tst_libext2fs: add new debug program which used for libext2fs unit tests 2014-05-27 12:14:27 -04:00
README Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
README.subset Update release notes, version files for 1.40.4 release 2008-01-01 00:35:17 -05:00
RELEASE-NOTES Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
SHLIBS Many files: 1997-04-29 16:15:03 +00:00
SUBMITTING-PATCHES Added SUBMITTING-PATCHES file 2005-07-05 22:30:13 -05:00
TODO Update TODO to remove item which is already completed. 2006-05-13 09:28:04 -04:00
acinclude.m4 Fix up configure so it finds mkinstalldirs 2014-07-10 00:20:49 -04:00
aclocal.m4 aclocal.m4: update to newer versions of autoconf macros 2014-07-04 23:49:23 -04:00
configure Fix up configure so it finds mkinstalldirs 2014-07-10 00:20:49 -04:00
configure.in Fix up configure so it finds mkinstalldirs 2014-07-10 00:20:49 -04:00
depfix.sed Update Release Notes, Changelogs, version.h, etc. for 1.42 release 2011-11-29 16:48:14 -05:00
e2fsprogs.lsm Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
e2fsprogs.spec.in misc: clean up compiler warnings 2011-06-11 10:58:25 -04:00
version.h Update release notes, etc. for final 1.42.11 release 2014-07-10 00:48:58 -04:00
wordwrap.pl Fix wordwrap.pl so it is more portable 2012-09-21 12:50:04 -04:00

README

	This is the new version (1.42.11) of the second extended file
system management programs.

	From time to time, I release new versions of e2fsprogs, to fix
bugs and to make the utilities more robust.  You can always find
information about the latest version at the the e2fsprogs web page,
which is:

	http://e2fsprogs.sourceforge.net

	The INSTALL file has instructions on building and installing
e2fsprogs.  Provisions for building Red Hat RPMs and Debian dpkg files
are supplied as well.

	In case of bugs in these programs, please contact Ted Ts'o at
tytso@mit.edu or tytso@alum.mit.edu.  See the e2fsck man page for
suggestions of what sort of information to include when submitting bug
reports for these programs.