From: Theodore Ts'o Date: Sat, 27 Apr 2024 04:38:54 +0000 (-0400) Subject: Update release notes, etc., for the 1.47.1-rc1 release X-Git-Tag: v1.47.1-rc1~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8419d80d8cd29a0cf14f91fb2da5656e0b617891;p=thirdparty%2Fe2fsprogs.git Update release notes, etc., for the 1.47.1-rc1 release Signed-off-by: Theodore Ts'o --- diff --git a/README b/README index 0970deb75..1bc05211f 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ - This is the new version (1.47.0) of the second extended file + This is the new version (1.47.1) of the second extended file system management programs. From time to time, I release new versions of e2fsprogs, to fix diff --git a/debian/changelog b/debian/changelog index 21b8e5244..2a387413a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,77 @@ -e2fsprogs (1.47.1~rc1-1) experimental; urgency=medium +e2fsprogs (1.47.1~rc1-1) unstable; urgency=medium * New upstream version - - -- Theodore Y. Ts'o Sun, 21 Apr 2024 23:58:04 -0400 + * Add support for post-2038 timestamps on platforms with 64-bit time_t. + * Mke2fs -d can now support an input tar file if the libarchive library + is available. + * Install a udev rule to inihibit ext4 file systesm from being + automounted by udisks. + * Debugfs's 'hash' command has been enhanced to use the hash seed and + algorithm from a superblock if a file system is opened and to display + the hash seed and algorithm if the -v flag is given. + * Teach mke2fs with a new extended options, root_perms, which overrides + the permissions for the root directory for the new file system. + * Preserve any error indicator in the superblock when replaying the + journal so that a subsequent fsck can repair the file system afterwards. + * Fix potential mke2fs failures when creating a file system with an + orphan file when the storage device has a previous file system and + does not support discard/trim commands. + * E2fsck will clear the orphan_present feature silently in preen mode. + * Fix potential checksum failures when performing an online resize when + the mounted file system is actively modifying the superblock. + * Fix a bug where a checksum failure in an htree directory can cause + e2fsck's preen mode to abort unnecessarily. + * Fix e2fsck's handling of an invalid symlink in an inline_data + directory. + * Fix e4crypt from issuing a spurious "success" error message when + trying to set a policy on a non-directory. + * Fix a potential infinite loop in debugfs's logdump command in some + edge cases. + * Fix e2fsck to correctly update quota usage after optimizing + directories or deleting corrupted inodes. + * Fix fuse2fs so that directories are created with the correct + permissions instead of having the other and group write permissions + masked off. + * Fix a potential e2fsck divide by zero crash caused by a maliciously + fuzzed file system. + * Fix dumpe2fs to report free block ranges correctly for bigalloc file + file systems. + * Fix resize2fs where resizing a bigalloc file system can result in the + free cluster count in the last block group and the total free clusters + count to be incorrect. + * Avoid spurious e2scrub failures caused by trying to scrub file + syustems that do not have the journal enabled, and by aborting scrub + runs while upgrading the e2fsprogs package + * Teach tune2fs to detect a file system which is mounted but is not + mentioned in the mount namespace where tune2fs is run by treating a + block device which is busy as if it is mounted. + * If tune2fs can't find the mountpoint for a file system which is + apparently mounted (perhaps because it's not present in the current + mount namespace) when attempting to set the label or UUID in the + superblock, fall back to the old method of modifying block device and + silence printing any error messages. + * If both the primary superblock and first block group's backup + superblock are corrupted, e2fsck will now try additional backup + superblocks if they are available. + * Avoid mke2fs from creating an invalid file system with an insufficient + number of inodes when creating a file system which is very small + (100k), a block size of 1k, and an inode size of 256 bytes. + * Fix a potential deadlock caused by e2fsck being run in Direct I/O mode + with the threading optimization enabled. + * Update and clarify various man pages. (Closes: #1038286) + * Add support for SOURCE_DATE_EPOCH environment variable + * Improve resize2fs's performance by eliminating extra cache flushes. + * Improve mke2fs's performance when zeroing a large number of inode + table blocks (when lazy inode table initialization is not enabled) by + batching calls to ext2fs_zero_blocks. + * Use a safe_getenv function for all calls to fetch the environment + variable in libext2fs. + * Upgrade fuse2fs to use fuse v3. + * Build the binaries using FORTIFY_SOURCE=3 for better hardening + * Add Romainian translation. + * Update Malay translation. + + -- Theodore Y. Ts'o Fri, 26 Apr 2024 22:23:25 -0400 e2fsprogs (1.47.0-2.4) unstable; urgency=medium diff --git a/doc/RelNotes/v1.47.1.txt b/doc/RelNotes/v1.47.1.txt new file mode 100644 index 000000000..53eeee9e6 --- /dev/null +++ b/doc/RelNotes/v1.47.1.txt @@ -0,0 +1,171 @@ +E2fsprogs 1.47.1 (April 26, 2024) +================================= + +Updates/Fixes since v1.47.0: + +UI and Features +--------------- + +Add post-2038 handling when e2fsprogs is compiled on a system with a +64-bit time_t. + +Mke2fs -d can now support an input tar file if the libarchive library is +available. + +Add a udev rule which inhibits ext4 file systems from being automounted +by udisks. This avoid security issues from exposing potentially +maliciously fuzzed file systems from being mounted without being +inspected using fsck first. Distributions can of course override this +feature inhibition, but then they get to own the security vulnerability +liability. Upstream ext4 file system developers are putting +distributions on notice that blindly automounting file systems from +(potentially) USB thumb drives which clueless users may have picked up +in a parking lot is a ***bad*** idea, no matter what clueless enterprise +Linux product managers might think. + +The debugfs 'hash' command will use the hash seed and algorithm from the +superblock if debugfs has a file system open, instead of requiring the +user to specify those parameters explicitly as options to the hash +command. Also add a hash -v option which prints the hash parameters so +the user knows what parameters were used when calculating the hash for +the filename. + +Teach mke2fs a new extended options, root_perms, which overrides the +permissions for the root directory for the new file system. + + +Fixes +----- + +When various e2fsprogs are replaying the journal (tune2fs, fuse2fs, +e2fsck, etc.) save any error indicator in the superblock, so it can be +restored afterwards. Most of the time (at least with modern kernels) if +file system corruptions are discovered, the superblock update is +journalled. However, if the journal is aborted or the journal commit +fails, the error code might only be written in the superblock, so we +need to save it so that a subsequent fsck can repair the file system +after the journal replay. + +When mke2fs was creating a file system with the orphan file inode, it +tries to read and truncate the orphan inode before it has been +initialized. If there is an inode from a previous file system located +there (as opposed to a all zeroes inode table block caused by a discard +of the flash device or a newly created cloud block device or fille +image), it can fail with bad checksum error, aborting the mke2fs +operation. Fix this in ext2fs_create_orphan_file() not trying to +truncate the orphan file if it is newly allocated (which will always be +the case when mke2fs calls this library function). + +In the case where e2fsck comes across an orphan file which is empty but +the orphan_present feature is set, in preen mode, e2fsck will now clear +the orphan_present feature flag silently. + +When resize2fs is performing an online resize, it's possible for reading +the superblock can race with a kernel modifying the superblock with the +checksum being invalid and causing the resize to fail with an bad +superblock checksum in the buffer cache. Have resize2fs open the file +system using O_DIRECT to avoid the superblock with an invalid checksum. + +Fix a bug where a checksum failure in an htree directory can cause +e2fsck's preen mode to abort unnecessarily. + +Fix e2fsck's handling of an invalid symlink in an inline_data directory. + +Fix e4crypt from issuing a spurious "success" error message when trying +to set a policy on a non-directory. + +Fix a potential infinite loop in debugfs's logdump command in some edge +cases. + +Fix e2fsck to correctly update quota usage after optimizing directories +or deleting corrupted inodes. + +Fix fuse2fs so that directories are created with the correct permissions +instead of having the other and group write permissions masked off. + +Fix a potential e2fsck divide by zero crash caused by a maliciously +fuzzed file system. + +Fix dumpe2fs to report free block ranges correctly for bigalloc file +file systems. + +Fix resize2fs where resizing a bigalloc file system can result in the +free cluster count in the last block group and the total free clusters +count to be incorrect. + +Avoid spurious e2scrub failures caused by trying to scrub file syustems +that do not have the journal enabled, and by aborting scrub runs while +upgrading the e2fsprogs package on Debian/Ubuntu. + +Teach tune2fs to detect a file system which is mounted but is not +mentioned in the mount namespace where tune2fs is run by treating a +block device which is busy as if it is mounted. + +If tune2fs can't find the mountpoint for a file system which is +apparently mounted (perhaps because it's not present in the current +mount namespace) when attempting to set the label or UUID in the +superblock, fall back to the old method of modifying block device and +silence printing any error messages. + +If both the primary superblock and first block group's backup superblock +are corrupted, e2fsck will now try additional backup superblocks if they +are available. + +Avoid mke2fs from creating an invalid file system with an insufficient +number of inodes when creating a file system which is very small (100k), +a block size of 1k, and an inode size of 256 bytes. + +Fix a potential deadlock caused by e2fsck being run in Direct I/O mode +with the threading optimization enabled. + +Fixed/improved various Debian packaging issues. + +Update and clarify various man pages. (Addresses Debian Bug #1038286) + + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + +Add support for SOURCE_DATE_EPOCH environment variable per the +specification https://reproducible-builds.org/specs/source-date-epoch + +Improve resize2fs's performance by eliminating extra cache flushes. + +Improve mke2fs's performance when zeroing a large number of inode table +blocks (when lazy inode table initialization is not enabled) by batching +calls to ext2fs_zero_blocks. + +Use a safe_getenv function for all calls to fetch the environment +variable in libext2fs. + +Fix a massive buffer overrun bug in ext2fs_image_super_read(). This +function isn't actually used by e2image, and it's unlikely that there +are any users of this function since the most common way the e2image +file is read is via ext2fs_openfs() with the EXT2_FLAG_IMAGE_FILE, which +doesn't actually use ext2fs_image_super_read(). + +Add support for building fuse2fs using Fuse V3. + +Use FORTIFY_SOURCE=3 when hardening is enabled for more protection. + +Add support for continuous integration tests using Github Actions. + +Fix Windows-specific portability bugs to allow mke2fs to create a file +system in a file which doesn't yet exist and to support file systems +larger than 2GB. + +Fix a FreeBSD 14 build failure caused by changing the function signature +of qsort_r() to be aligned with the POSIX and glibc definition of +qsort_r(). + +Fix various portability issues for the Linux 32-bit musl C library, +GNU/Hurd and Android. (Addresses Debian Bug: #1056145) + +Fix various portability problems in the regression test suite. + +Fix various sanitizer, static code analysis, and compiler warnings. + +Add Romainian translation. + +Update Malay translation. diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo index 5d4b0537c..841c86448 100644 --- a/doc/libext2fs.texinfo +++ b/doc/libext2fs.texinfo @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename libext2fs.info -@settitle The EXT2FS Library (version 1.47.0) +@settitle The EXT2FS Library (version 1.47.1) @synindex tp fn @comment %**end of header @@ -60,8 +60,8 @@ by the author. @title The EXT2FS Library @subtitle The EXT2FS Library -@subtitle Version 1.47.0 -@subtitle February 2023 +@subtitle Version 1.47.1 +@subtitle April 2024 @author by Theodore Ts'o @@ -101,7 +101,7 @@ by the Foundation. @top The EXT2FS Library -This manual documents the EXT2FS Library, version 1.47.0. +This manual documents the EXT2FS Library, version 1.47.1. @menu * Introduction to the EXT2FS Library:: diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm index 3dec8c9e1..ea48470a5 100644 --- a/e2fsprogs.lsm +++ b/e2fsprogs.lsm @@ -1,15 +1,15 @@ Begin3 Title: EXT2 Filesystem utilities -Version: 1.47.0 -Entered-date: 2023-02-05 +Version: 1.47.1 +Entered-date: 2024-04-26 Description: The filesystem utilities for the EXT2, EXT3, and EXT4 filesystems, including e2fsck, mke2fs, dumpe2fs, and others. Keywords: utilities, filesystem, Ext2fs, ext3, ext4 Author: tytso@mit.edu (Theodore Tso) Maintained-by: tytso@mit.edu (Theodore Tso) Primary-site: ftp.kernel.org /pub/linux/kernel/people/tytso/e2fsprogs - 9400kB e2fsprogs-1.46.7.tar.gz - 1kB e2fsprogs-1.46.7.lsm + 9572kB e2fsprogs-1.47.1.tar.gz + 1kB e2fsprogs-1.47.1.lsm pAlternate-site: download.sourceforge.net /pub/sourceforge/e2fsprogs Platforms: linux 1.2.x/1.3.x/2.0.x/2.1.x/2.2.x/2.3.x/2.4.x/2.5.x/2.6.x/3.x/4.x/5.x/6.x Copying-policy: GPL-2/LGPL-2 diff --git a/e2fsprogs.spec b/e2fsprogs.spec index bdcf76138..b11e55b6b 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -5,7 +5,7 @@ Summary: Utilities for managing ext2/ext3/ext4 filesystems Name: e2fsprogs -Version: 1.47.0 +Version: 1.47.1 Release: 0 License: GPLv2 Group: System Environment/Base diff --git a/version.h b/version.h index 30198e39c..602b77416 100644 --- a/version.h +++ b/version.h @@ -10,4 +10,4 @@ */ #define E2FSPROGS_VERSION "1.47.1-rc1" -#define E2FSPROGS_DATE "21-Apr-2024" +#define E2FSPROGS_DATE "26-Apr-2024"