From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF196391842 for ; Tue, 23 Jun 2026 18:08:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782238109; cv=none; b=aNgglqQZc8lCEb8g1+QdXlqUY8mNe/TySH5ufmWeBRZU4YA9R6Mn1/9PQ0Mk43n3k2zAgBUUJDPSpfJHx7C6t0UuMapDZTYfEJZJq/GAZyezZr/6chFw+h9RNHZNKdpUy/B48c1x0QQCGVP75JhmyjvxGw82A9A2M8gawuAmw8o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782238109; c=relaxed/simple; bh=jgxmKVUFsY+g5Z3RNUvWHOGnV/pUPkOlrZfxvSgNcSE=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=SzdARuvN80AiSmrC6k3FuhpG3g1jiVh9B8++pyyHZ8kuWwzgL2NPSFe2lU6ZQZZc+yhQtgEgEfNR+hTa9/5LBTwKLtIiRx4LNln0OijdujunYzYLVzEbCp6yQLKxP8TpBUCf8eBuE0prR4WHiOyFxGurF0bQdVLGRef0SRdxYqs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HoYS0ai9; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HoYS0ai9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47EDF1F000E9; Tue, 23 Jun 2026 18:08:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782238108; bh=E28GvbgFZJU4j1wSj4zi15k7SX9ARGcFit6CjnTXRTI=; h=Date:From:To:Cc:Subject; b=HoYS0ai9vczBs5bZHNchLIrClaPcyXUfrYoCYTgDN70iGH/XhVG2QFs3du+djTFNo cWvyyTo1I1U2r6+WEksnHimb0wTmrhuxCnsQUkH8eP7/421OkgyWPQVzGTfd7lb0YD pG3rghzcVJd3XbNMmwo0ltTtLCnXFgCx+LXHg/LXj2tDvJMazdPEprgw56YsoHJFp7 Vptn2L2oQLqMhzaYSpjVbOhiGR3qia2oZQQ/+UIUHvoiJsplQ9G8+b9nUk6Jdjzw/V psqrEH/Ki1e+PR3xvkiBbpEP9nDcHJOm+X6b1t6kftIFl0rZUDMszzPebMicdo6Xkw RpodPULGlAckg== Date: Tue, 23 Jun 2026 18:08:26 +0000 From: Jaegeuk Kim To: Linus Torvalds Cc: Linux F2FS Dev Mailing List , Linux Kernel Mailing List Subject: [GIT PULL] f2fs update for 7.2-rc1 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Linus, Could you please consider this pull request? Given that the git history shows less than a day since the last update, it is completely fine to let it soak in -next for a bit. I submitted this because I needed to remove an old patch that was incorrectly merged a while ago, and I wanted to clean up the tree. The following changes since commit 70eda68668d1476b459b64e69b8f36659fa9dfa8: Merge tag 'hid-for-linus-2026051401' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid (2026-05-14 14:30:01 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git tags/f2fs-for-7.2-rc1 for you to fetch changes up to 4275b59673eb60b02eec3997816c83f1f4b909c4: f2fs: fix to round down start offset of fallocate for pin file (2026-06-22 19:55:27 +0000) ---------------------------------------------------------------- f2fs-for-7.2-rc1 In this round, the changes primarily focus on filesystem error reporting, reducing memory footprint by reverting in-memory data structures used for runtime validation, honoring FDP hints, and adding trace and debug logs. In addition, there are critical bug fixes resolving out-of-bounds read vulnerabilities in inline directory and ACL handling, potential deadlocks in balance_fs, use-after-free issues in atomic writes, and false data/node type assignments in large sections. Enhancement: - Revert in-memory sit version and block bitmaps - support to report fserror - add trace_f2fs_fault_report - add iostat latency tracking for direct IO - add logs in f2fs_disable_checkpoint() - honor per-I/O write streams for direct writes - map data writes to FDP streams - skip inode folio lookup for cached overwrite - skip direct I/O iostat context when disabled - revert "check in-memory block bitmap" - revert "check in-memory sit version bitmap" Bug fix: - optimize representative type determination in GC - fix incorrect FI_NO_EXTENT handling in __destroy_extent_node() - fix potential deadlock in f2fs_balance_fs() - fix potential deadlock in gc_merge path of f2fs_balance_fs() - atomic: fix UAF issue on f2fs_inode_info.atomic_inode - fix missing read bio submission on large folio error - pass correct iostat type for single node writes - fix to do sanity check on f2fs_get_node_folio_ra() - validate orphan inode entry count - keep atomic write retry from zeroing original data - read COW data with the original inode during atomic write - validate inline dentry name lengths before conversion - validate dentry name length before lookup compares it - reject setattr size changes on large folio files - revert "remove non-uptodate folio from the page cache in move_data_block" - validate ACL entry sizes in f2fs_acl_from_disk() - bound i_inline_xattr_size for non-inline-xattr inodes - fix listxattr handling of corrupted xattr entries - fix to round down start offset of fallocate for pin file ---------------------------------------------------------------- Bart Van Assche (3): f2fs: Prepare for supporting delayed bio completion f2fs: Rename f2fs_post_read_wq into f2fs_wq f2fs: Split f2fs_write_end_io() Bryam Vargas (1): f2fs: bound i_inline_xattr_size for non-inline-xattr inodes Cen Zhang (2): f2fs: annotate lockless last_time[] accesses f2fs: annotate lockless NAT counter reads Chao Yu (13): f2fs: support to report fserror f2fs: doc: fix the wrong description for critical_task_priority f2fs: add logs in f2fs_disable_checkpoint() f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs() f2fs: atomic: fix UAF issue on f2fs_inode_info.atomic_inode Revert: "f2fs: check in-memory block bitmap" Revert: "f2fs: check in-memory sit version bitmap" f2fs: fix to do sanity check on f2fs_get_node_folio_ra() f2fs: fix wrong description in printed log f2fs: misc cleanup in f2fs_record_stop_reason() f2fs: avoid unnecessary sanity check on ckpt_valid_blocks f2fs: avoid unnecessary fscrypt_finalize_bounce_page() f2fs: remove unneeded f2fs_is_compressed_page() Daeho Jeong (1): f2fs: optimize representative type determination in GC Keshav Verma (1): f2fs: fix listxattr handling of corrupted xattr entries Mikhail Lobanov (1): f2fs: read COW data with the original inode during atomic write Ruipeng Qi (1): f2fs: fix potential deadlock in f2fs_balance_fs() Samuel Moelius (2): f2fs: validate inline dentry name lengths before conversion f2fs: validate dentry name length before lookup compares it Sunmin Jeong (1): f2fs: fix to round down start offset of fallocate for pin file Wenjie Qi (11): f2fs: map data writes to FDP streams f2fs: fix missing read bio submission on large folio error f2fs: pass correct iostat type for single node writes f2fs: validate compress cache inode only when enabled f2fs: avoid false shutdown fserror reports f2fs: honor per-I/O write streams for direct writes f2fs: validate orphan inode entry count f2fs: keep atomic write retry from zeroing original data f2fs: skip inode folio lookup for cached overwrite f2fs: reject setattr size changes on large folio files f2fs: skip direct I/O iostat context when disabled Yongpeng Yang (1): f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node() Zhang Cen (1): f2fs: validate ACL entry sizes in f2fs_acl_from_disk() Zhaoyang Huang (1): Revert "f2fs: remove non-uptodate folio from the page cache in move_data_block" liujinbao1 (2): f2fs: Add trace_f2fs_fault_report f2fs: add iostat latency tracking for direct IO Documentation/ABI/testing/sysfs-fs-f2fs | 5 +- Documentation/filesystems/f2fs.rst | 9 +++ fs/f2fs/acl.c | 18 ++++- fs/f2fs/checkpoint.c | 14 +++- fs/f2fs/compress.c | 10 ++- fs/f2fs/data.c | 133 ++++++++++++++++++++++---------- fs/f2fs/dir.c | 7 ++ fs/f2fs/extent_cache.c | 19 ++--- fs/f2fs/f2fs.h | 39 +++++++--- fs/f2fs/file.c | 75 +++++++++++++++++- fs/f2fs/gc.c | 69 +++++++++++++---- fs/f2fs/inline.c | 10 +++ fs/f2fs/inode.c | 31 ++++++-- fs/f2fs/node.c | 22 +++++- fs/f2fs/node.h | 8 +- fs/f2fs/recovery.c | 2 + fs/f2fs/segment.c | 75 ++++++------------ fs/f2fs/segment.h | 22 ------ fs/f2fs/super.c | 72 +++++++++++++++-- fs/f2fs/sysfs.c | 2 + fs/f2fs/verity.c | 2 + fs/f2fs/xattr.c | 12 ++- include/linux/f2fs_fs.h | 1 + include/trace/events/f2fs.h | 28 +++++++ 24 files changed, 502 insertions(+), 183 deletions(-)