The following changes since commit a64dcfb451e254085a7daee5fe51bf22959d52d3: Linux 6.14-rc2 (2025-02-09 12:45:03 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4-for_linus-6.15-rc1 for you to fetch changes up to d5e206778e96e8667d3bde695ad372c296dc9353: ext4: fix OOB read when checking dotdot dir (2025-03-21 01:33:11 -0400) ---------------------------------------------------------------- Ext4 bug fixes and cleanups, including: * hardening against maliciously fuzzed file systems * backwards compatibility for the brief period when we attempted to ignore zero-width characters * avoid potentially BUG'ing if there is a file system corruption found during the file system unmount * fix free space reporting by statfs when project quotas are enabled and the free space is less than the remaining project quota Also improve performance when replaying a journal with a very large number of revoke records (applicable for Lustre volumes). ---------------------------------------------------------------- Acs, Jakub (1): ext4: fix OOB read when checking dotdot dir Baokun Li (18): ext4: replace opencoded ext4_end_io_end() in ext4_put_io_end() ext4: do not convert the unwritten extents if data writeback fails ext4: reject the 'data_err=abort' option in nojournal mode ext4: extract ext4_has_journal_option() from __ext4_fill_super() ext4: abort journal on data writeback failure if in data_err=abort mode jbd2: drop JBD2_ABORT_ON_SYNCDATA_ERR ext4: update the descriptions of data_err=abort and data_err=ignore ext4: remove unused member 'i_unwritten' from 'ext4_inode_info' ext4: pack holes in ext4_inode_info ext4: convert EXT4_FLAGS_* defines to enum ext4: add EXT4_FLAGS_EMERGENCY_RO bit ext4: add ext4_emergency_state() helper function ext4: add more ext4_emergency_state() checks around sb_rdonly() ext4: correct behavior under errors=remount-ro mode ext4: show 'emergency_ro' when EXT4_FLAGS_EMERGENCY_RO is set ext4: show 'shutdown' hint when ext4 is forced to shutdown ext4: goto right label 'out_mmap_sem' in ext4_setattr() jbd2: remove jbd2_journal_unfile_buffer() Bhupesh (1): ext4: ignore xattrs past end Charles Han (1): ext4: fix potential null dereference in ext4 kunit test Christian Göttsche (1): ext4: reorder capability check last Diangang Li (1): ext4: clear DISCARD flag if device does not support discard Eric Biggers (2): ext4: remove redundant function ext4_has_metadata_csum jbd2: remove redundant function jbd2_journal_has_csum_v2or3_feature Ethan Carter Edwards (1): ext4: hash: simplify kzalloc(n * 1, ...) to kzalloc(n, ...) Jan Kara (4): jbd2: Avoid long replay times due to high number or revoke blocks ext4: verify fast symlink length jbd2: remove wrong sb->s_sequence check jbd2: do not try to recover wiped journal Julian Sun (5): ext4: Remove a redundant return statement ext4: Don't set EXT4_STATE_MAY_INLINE_DATA for ea inodes ext4: Introduce a new helper function ext4_generic_write_inline_data() ext4: Replace ext4_da_write_inline_data_begin() with ext4_generic_write_inline_data(). ext4: Refactor out ext4_try_to_write_inline_data() Kemeng Shi (12): ext4: remove unused ext4 journal callback jbd2: remove unused transaction->t_private_list ext4: remove unneeded forward declaration jbd2: remove unused h_jdata flag of handle jbd2: remove unused return value of jbd2_journal_cancel_revoke jbd2: remove unused return value of do_readahead jbd2: remove stale comment of update_t_max_wait jbd2: correct stale function name in comment jbd2: Correct stale comment of release_buffer_page ext4: add missing brelse() for bh2 in ext4_dx_add_entry() ext4: remove unneeded forward declaration in namei.c ext4: remove unused input "inode" in ext4_find_dest_de Matthew Wilcox (Oracle) (1): ext4: remove references to bh->b_page Nicolas Bretz (1): ext4: on a remount, only log the ro or r/w state when it has changed Ojaswin Mujoo (4): ext4: protect ext4_release_dquot against freezing ext4: define ext4_journal_destroy wrapper ext4: avoid journaling sb update on error if journal is destroying ext4: Make sb update interval tunable Theodore Ts'o (2): ext4: introduce linear search for dentries ext4: don't over-report free space or inodes in statvfs Ye Bin (2): ext4: introduce ITAIL helper ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all() Zhang Yi (13): ext4: remove writable userspace mappings before truncating page cache ext4: don't explicit update times in ext4_fallocate() ext4: don't write back data before punch hole in nojournal mode ext4: refactor ext4_punch_hole() ext4: refactor ext4_zero_range() ext4: refactor ext4_collapse_range() ext4: refactor ext4_insert_range() ext4: factor out ext4_do_fallocate() ext4: move out inode_lock into ext4_fallocate() ext4: move out common parts into ext4_fallocate() jbd2: fix off-by-one while erasing journal jbd2: add a missing data flush during file and fs synchronization ext4: correct the error handle in ext4_fallocate() Zizhi Wo (1): ext4: update the comment about mb_optimize_scan Documentation/admin-guide/ext4.rst | 7 +- Documentation/filesystems/journalling.rst | 4 +- fs/ext4/balloc.c | 4 +- fs/ext4/bitmap.c | 8 +- fs/ext4/dir.c | 7 +- fs/ext4/ext4.h | 94 ++++---- fs/ext4/ext4_jbd2.c | 12 +- fs/ext4/ext4_jbd2.h | 113 +++------ fs/ext4/extents.c | 531 ++++++++++++++++--------------------------- fs/ext4/extents_status.c | 1 - fs/ext4/file.c | 27 ++- fs/ext4/fsync.c | 12 +- fs/ext4/hash.c | 2 +- fs/ext4/ialloc.c | 9 +- fs/ext4/inline.c | 205 ++++++----------- fs/ext4/inode.c | 288 +++++++++++++---------- fs/ext4/ioctl.c | 13 +- fs/ext4/mballoc-test.c | 2 + fs/ext4/mballoc.c | 8 +- fs/ext4/mmp.c | 6 +- fs/ext4/namei.c | 117 +++++----- fs/ext4/orphan.c | 2 +- fs/ext4/page-io.c | 75 ++++-- fs/ext4/resize.c | 4 +- fs/ext4/super.c | 267 ++++++++++++---------- fs/ext4/sysfs.c | 4 + fs/ext4/xattr.c | 47 ++-- fs/ext4/xattr.h | 10 + fs/jbd2/commit.c | 10 +- fs/jbd2/journal.c | 34 +-- fs/jbd2/recovery.c | 80 +++++-- fs/jbd2/revoke.c | 21 +- fs/jbd2/transaction.c | 21 +- include/linux/fs.h | 10 +- include/linux/jbd2.h | 24 +- 35 files changed, 967 insertions(+), 1112 deletions(-)