mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] ntfs update for 7.3-rc1
@ 2026-08-25 10:15 Namjae Jeon
  2026-08-25 19:51 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Namjae Jeon @ 2026-08-25 10:15 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List, Hyunchul Lee

Hi Linus,

This is ntfs update pull request for v7.3-rc1. I add a description of
this pull request below. Please pull ntfs with following ones.

Thanks!

The following changes since commit bd5f485f3f026225b86573e559af0b7254ef4184:

  Merge tag 'soc-arm-7.3' of
git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc (2026-08-18
19:50:40 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs.git
tags/ntfs-for-7.3-rc1

for you to fetch changes up to a7b842f182d126a07838d81be8201d8d953c67c0:

  ntfs: support resident WOF decompression (2026-08-21 19:09:00 +0900)

----------------------------------------------------------------
This contains 52 commits with improvements to compression support,
metadata handling, error propagation, and filesystem robustness.

New feature:

 - Add optional read support for Windows System Compression (WOF).
   Add CONFIG_NTFS_FS_WOF_COMPRESSION and support reading WOF-compressed
   files through the NTFS page-read path. This includes parsing
   REPARSE_TAG_WOF, handling resident and non-resident WOF metadata and
   compressed chunks, and adding kernel-side XPRESS 4K/8K/16K and LZX 32K
   decompressors. The codecs use a common transparent compression interface
   shared with LZNT1. WOF support is read-only and disabled unless
   explicitly enabled.

Other changes:

 - Harden malformed filesystem handling and error paths.
   Add bounds and consistency checks for mapping pairs, run lengths, MFT
   locations, update-sequence offsets, non-resident attributes, compressed
   attributes, index roots, and bitmap scans. Prevent out-of-bounds accesses
   in decompression, MFT allocation, and index conversion paths, clean up MFT
   mappings and attribute search contexts on failure, and propagate attribute
   and inode initialization errors correctly.

 - Improve compressed-file I/O path.
   Fix compressed writes on large-page and highmem systems, reuse compression
   contexts and output workspaces, avoid unnecessary reads for full-unit
   overwrites, and submit one bio per compressed write unit. Write replacement
   data before publishing the new mapping, correctly handle zero-filled
   compressed blocks, and fix initialized-size and folio state updates after
   compressed writes.

 - Synchronize resident reads with MFT record updates.

 - Validate the final EA stream size before modifying existing data, rewrite
   the stream safely when replacing entries, restore the previous state when
   metadata updates fail, and remove the EA attribute pair when the last
   entry is deleted.

 - Apply Windows filename restrictions only when windows_names is enabled.

 - Allow index roots to relocate to extent MFT records when the base record
   lacks sufficient space.

 - Move non-resident attribute payload data before shrinking its record.

 - Correct resident-to-non-resident conversion when compression or sparse
   flags are enabled.

 - Prepare file allocation and initialized-size updates before buffered or
   direct I/O submission, and use pagecache_isize_extended() when extending
   the file size.

 - Fix highmem and page/folio access in compressed I/O paths by using the
   correct local mappings and page helpers.

 - Apply per-file $LXMOD permissions instead of mount masks when available,
   and prevent unprivileged writes to reserved $LX* attributes.

 - Update the NTFS maintainer mailing list.

 - Four small cleanups.

----------------------------------------------------------------
Alexandro Calo (2):
      ntfs: Fix min_len for compressed/sparse attributes in
ntfs_non_resident_attr_value_is_valid()
      ntfs: Fix index_root heap OOB write in ntfs_ir_to_ib()

Baolin Liu (1):
      ntfs: do not update ctime when setxattr fails

Bryam Vargas (1):
      ntfs: bound the free-cluster bitmap scan to the volume

Dennis Tighe (2):
      ntfs: fix off-by-one page overflow in ntfs_decompress()
      ntfs: validate usa_ofs before preserving the update sequence number

Dmitry Antipov (1):
      ntfs: simplify ntfs_reparse_set_native_symlink()

Hongling Zeng (3):
      ntfs: validate non-resident attribute offsets
      ntfs: verify run length exceeding volume boundary
      ntfs: fix resource leak in ntfs_new_attr_flags

Hyeontae Lee (1):
      ntfs: serialize resident iomap reads with mrec_lock

Hyunchul Lee (13):
      ntfs: fix resident conversion in ntfs_new_attr_flags
      ntfs: reject invalid MFT LCNs from boot sector
      ntfs: reject invalid empty mapping pairs
      ntfs: introduce transparent compression codec interface
      ntfs: define LZNT1 codec ops under transparent codec interface
      ntfs: add WOF compression config option
      ntfs: return errors from ntfs_attr_readall
      ntfs: parse REPARSE_TAG_WOF
      ntfs: return errors from inode initialization
      ntfs: port lzx/xpress decompressors from ntfs-3g-system-compression
      ntfs: implement codec ops for LZX and XPRESS
      ntfs: add non-resident WOF decompression
      ntfs: support resident WOF decompression

Matthew Wilcox (Oracle) (4):
      ntfs: Inline zero_partial_compressed_page()
      ntfs: Remove use of __folio_index in handle_bounds_compressed_page()
      ntfs: Use zero_user_segment() in handle_bounds_compressed_page()
      ntfs: Remove references to page->__folio_index

Mohammad Shahid (3):
      ntfs: reparse: remove redundant NULL checks before kvfree()
      ntfs: mft: use kmemdup() instead of kmalloc() and memcpy()
      ntfs: dir: use kmemdup() instead of kmalloc() and memcpy()

Namjae Jeon (20):
      ntfs: validate final EA attribute size
      ntfs: remove empty EA attribute pair
      ntfs: rewrite EA stream before updating metadata
      ntfs: fix kmap_local_page() usage in compress
      ntfs: file extension before write submission
      ntfs: use pagecache_isize_extended() on size extension
      MAINTAINERS: update mailing list address for ntfs
      ntfs: propagate compression context allocation errors
      ntfs: support large pages in compressed writes
      ntfs: punch all-zero compressed blocks
      ntfs: write compressed data before replacing old clusters
      ntfs: fix initialized size and page state after compressed writes
      ntfs: reuse the compression context during writes
      ntfs: reuse compression output workspace across write units
      ntfs: submit one bio per compressed write unit
      ntfs: skip reads for full compression unit overwrites
      ntfs: move attribute payload before shrinking its record
      ntfs: apply Windows name checks only with windows_names
      ntfs: respect per-file chmod mode over mount masks
      ntfs: allow index root relocation

Pisit Preechapramoth (1):
      ntfs: reject unprivileged writes to reserved $LX* xattrs

 MAINTAINERS                     |   2 +-
 fs/ntfs/Kconfig                 |  11 +
 fs/ntfs/Makefile                |   3 +
 fs/ntfs/aops.c                  |  19 +-
 fs/ntfs/attrib.c                |  46 ++-
 fs/ntfs/bdev-io.c               |   4 +-
 fs/ntfs/compress.c              | 399 ++++++++++++----------
 fs/ntfs/dir.c                   |   5 +-
 fs/ntfs/ea.c                    | 285 ++++++++++++----
 fs/ntfs/ea.h                    |   3 +-
 fs/ntfs/file.c                  | 128 +++++--
 fs/ntfs/index.c                 |  98 +++++-
 fs/ntfs/inode.c                 | 108 ++++--
 fs/ntfs/inode.h                 |   5 +-
 fs/ntfs/iomap.c                 |  66 ++--
 fs/ntfs/lcnalloc.c              |   7 +-
 fs/ntfs/lib/decompress_common.c | 200 +++++++++++
 fs/ntfs/lib/decompress_common.h | 444 ++++++++++++++++++++++++
 fs/ntfs/lib/lib.h               |  29 ++
 fs/ntfs/lib/lzx_decompress.c    | 631 ++++++++++++++++++++++++++++++++++
 fs/ntfs/lib/xpress_decompress.c | 154 +++++++++
 fs/ntfs/mft.c                   |  15 +-
 fs/ntfs/namei.c                 |  10 +-
 fs/ntfs/ntfs.h                  |   4 +
 fs/ntfs/ntfs_codec.h            |  54 +++
 fs/ntfs/reparse.c               | 209 ++++++++----
 fs/ntfs/reparse.h               |   2 +-
 fs/ntfs/runlist.c               |  48 +++
 fs/ntfs/super.c                 |  15 +-
 fs/ntfs/wof.c                   | 726 ++++++++++++++++++++++++++++++++++++++++
 30 files changed, 3274 insertions(+), 456 deletions(-)
 create mode 100644 fs/ntfs/lib/decompress_common.c
 create mode 100644 fs/ntfs/lib/decompress_common.h
 create mode 100644 fs/ntfs/lib/lib.h
 create mode 100644 fs/ntfs/lib/lzx_decompress.c
 create mode 100644 fs/ntfs/lib/xpress_decompress.c
 create mode 100644 fs/ntfs/ntfs_codec.h
 create mode 100644 fs/ntfs/wof.c

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] ntfs update for 7.3-rc1
  2026-08-25 10:15 [GIT PULL] ntfs update for 7.3-rc1 Namjae Jeon
@ 2026-08-25 19:51 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2026-08-25 19:51 UTC (permalink / raw)
  To: Namjae Jeon; +Cc: Linus Torvalds, Linux Kernel Mailing List, Hyunchul Lee

The pull request you sent on Tue, 25 Aug 2026 19:15:37 +0900:

> git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs.git tags/ntfs-for-7.3-rc1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/7f22f3a1939e56669b1e5dc9a873ce303f93a1c0

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-25 19:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-25 10:15 [GIT PULL] ntfs update for 7.3-rc1 Namjae Jeon
2026-08-25 19:51 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®