mirror of https://github.com/vitalif/e2fsprogs
2bc3041754
The s_desc_size in the superblock specifies the group descriptor size in bytes, but in various places the EXT4_FEATURE_INCOMPAT_64BIT flag implies that the descriptor size is EXT2_MIN_DESC_SIZE_64BIT (64 bytes) instead of checking the actual size. In other places, the s_desc_size field is used without checking for INCOMPAT_64BIT. In the case of ext2fs_group_desc() the s_desc_size was being ignored, and assumed to be sizeof(struct ext4_group_desc), which would result in garbage for any but the first group descriptor. Similarly, in ext2fs_group_desc_csum() and print_csum() they assumed that the maximum group descriptor size was sizeof(struct ext4_group_desc). Fix these functions to use the actual superblock s_desc_size if INCOMPAT_64BIT. Conversely, in ext2fs_swap_group_desc2() s_desc_size was used without checking for INCOMPAT_64BIT being set. The e2fsprogs behaviour is different than that of the kernel, which always checks INCOMPAT_64BIT, and only uses s_desc_size to determine the offset of group descriptors and what range of bytes to checksum. Allow specifying the s_desc_size field at mke2fs time with the "-E desc_size=NNN" option. Allow a power-of-two s_desc_size value up to s_blocksize if INCOMPAT_64BIT is specified. This is not expected to be used by regular users at this time, so it is not currently documented in the mke2fs usage or man page. Add m_desc_size_128, f_desc_size_128, and f_desc_bad test cases to verify mke2fs and e2fsck handling of larger group descriptor sizes. Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> |
||
---|---|---|
config | ||
contrib | ||
debian | ||
debugfs | ||
doc | ||
e2fsck | ||
ext2ed | ||
include/nonunix | ||
install-utils | ||
intl | ||
lib | ||
misc | ||
po | ||
resize | ||
tests | ||
util | ||
.gitignore | ||
.hgignore | ||
.missing-copyright | ||
.release-checklist | ||
ABOUT-NLS | ||
COPYING | ||
INSTALL | ||
INSTALL.elfbin | ||
MCONFIG.in | ||
Makefile.in | ||
README | ||
README.subset | ||
RELEASE-NOTES | ||
SHLIBS | ||
SUBMITTING-PATCHES | ||
TODO | ||
aclocal.m4 | ||
configure | ||
configure.in | ||
depfix.sed | ||
e2fsprogs.lsm | ||
e2fsprogs.spec.in | ||
version.h | ||
wordwrap.pl |
README
This is the new version (1.42.8) 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.