Commit 12392d40a3be for kernel

commit 12392d40a3be2d79bc168bdb9ae6d7227b1dd17e
Merge: 42023dd0a294 5dffb7307023
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Oct 25 15:59:06 2026 -1000

    Merge tag 'ntfs-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs

    Pull ntfs updates from Namjae Jeon:
     "New features:

       - Implement ioctls to list, read, write, and remove named streams on
         files and directories. Provide optional file:stream pathname access
         through streams_interface=windows, exposing streams as regular file
         descriptors with support for mmap, locking, truncation, and
         allocation.

       - Support file attribute queries and updates through FS_IOC_GETFLAGS
         and FS_IOC_SETFLAGS. Store immutable, append-only, nodump, and
         noatime settings in the private $LINUXFLAGS extended attribute and
         restore them when loading inodes. Also report compression,
         encryption, and the mount-wide case-folding policy as read-only
         attributes.

      Other changes:

       - Expose the existing NTFS volume serial number through FS_IOC_GETFSUUID
         by registering it as an eight-byte filesystem identifier.

       - Validate MFT I/O geometry and write MFT records and mirror data
         through mapped I/O units, keeping neighboring records intact when
         multiple records share a native 4Kn block. Track folio writeback
         until all BIOs complete, serialize raw record updates against
         writeback, and use the caller's requested completion mode.

       - Discard stale uninitialized cache data before extending initialized
         size, ensure shared mmap writes update initialized size after
         native 4Kn size extension, and synchronize attribute inode sizes
         after internal resizes. Keep VFS and NTFS sizes consistent when
         write-error rollback fails and record the volume error.

       - Wait for existing folio writeback before updating attribute data,
         require page alignment for full-page write optimizations, and
         include the final partial cluster in synchronous writes. Skip
         duplicate VFS page-cache truncation under the MFT record lock to
         avoid a truncate and writeback deadlock.

       - Restart allocation zone searches after failed hints and prevent
         contiguous allocation requests from returning additional disjoint
         runs that callers leave uninitialized. Allow fallocate after
         MFT-zone exhaustion and interrupt allocation loops only for fatal
         signals, avoiding spurious interruptions from io_uring task-work
         notifications.

       - Wait for the initial bitmap scan before extending the MFT bitmap,
         bound direct allocation candidates by the volume size, update
         free-space accounting, and undo only newly allocated clusters after
         run coalescing. Update attribute-list inode size before reserving
         additional space.

       - Hold runlist locks while expanding non-resident attributes, balance
         locks during MFT extension error handling, and avoid pointers
         invalidated by runlist reallocation. Keep source runlists available
         for rollback and allocate enough room for runlist markers and
         terminators.

       - Return errors for unmappable runlist fragments instead of treating
         them as holes or delayed allocation. Check non-resident attribute
         sizes against their allocation and fail mounts when $MFT needs
         extent records outside the decoded runlist to describe itself,
         preventing silent zero reads and mount hangs.

       - Load and validate $BadClus:$Bad at mount time and reserve known bad
         clusters before the free-space scan. Fall back to read-only
         operation when bad-cluster metadata cannot be validated and prevent
         subsequent read-write remounts.

       - Serialize volume flag updates and retain the dirty bit after
         metadata changes while the volume remains mounted read-write.
         Persist recorded errors after final metadata commits, fail ordinary
         read-only remounts on sync, commit, or flush errors, and retain the
         dirty bit on forced remounts.

       - Flush the device write cache when syncing directories and report
         flush failures from both file and directory fsync. Drain in-flight
         direct I/O before buffered write fallback and keep nonblocking
         requests from entering the blocking fallback path.

       - Mount hibernated volumes, or volumes whose hibernation state cannot
         be determined, read-only regardless of the errors= policy. Prevent
         mount-time and dirty-state updates from modifying hibernated
         volumes.

       - Validate complete EA chains, link zero-terminated tails when
         appending entries, retain the EA presence flag, and distinguish
         empty values from removal. Propagate lookup, write, and truncate
         errors, restore both EA attributes after failed updates, and shut
         down the volume if restoration fails.

       - Restore the previous ACL xattr when a subsequent WSL mode update
         fails, including replacement and removal cases. Record rollback
         failures so an unsuccessful permission change cannot silently leave
         inconsistent ACL and mode state.

       - Apply MST fixups to individual index blocks on large-page systems
         and use fixed 512-byte VCN units when an index block is smaller
         than its cluster. Support lookup and removal of POSIX names
         containing Windows-invalid characters and identify directory
         symlinks and junctions during enumeration.

       - Report the stored creation time for symbolic links through statx()
         when querying the link itself with AT_SYMLINK_NOFOLLOW.

       - Use wider decompression offsets to avoid overflow on 64 KB pages,
         accept the standard sparse compression unit, and require the
         compressed-size field only on the first attribute extent. Block
         direct reads and skip readahead for encrypted files to prevent
         returning raw ciphertext.

       - Validate index entry offsets, logfile update sequence array counts,
         attribute-list sizes, and index collation key lengths to prevent
         out-of-bounds accesses, NULL pointer dereferences, and excessive
         allocations from corrupt volume metadata.

       - Derive FITRIM bitmap indexes from the page size and retain the full
         64-bit minimum discard length. Balance highmem mappings in logfile
         and MFT mirror checks and propagate specific errors from extent,
         attribute, and reparse operations.

       - Compare streams_interface with the mounted volume's setting during
         remount, make named-stream UAPI padding explicit, document stream
         access and Linux file attributes, and add the NTFS UAPI header to
         MAINTAINERS"

    * tag 'ntfs-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs: (93 commits)
      ntfs: handle a failed size rollback in the write error path
      ntfs: fix u16 truncation of the update sequence array count check
      ntfs: reject index blocks with a too small entries offset
      ntfs: support persistent noatime attribute
      ntfs: roll back the ACL xattr commit when the WSL mode update fails
      ntfs: report birth time for symbolic links
      ntfs: support FS_IOC_GETFSUUID
      ntfs: avoid unnecessary padding in uapi structure
      ntfs: flush the block device when syncing a directory
      ntfs: report block device flush failures from fsync
      ntfs: fix NULL dereference on index allocation open failure
      ntfs: compare streams_interface with mounted volume on remount
      ntfs: widen the sub-block offsets in ntfs_decompress()
      ntfs: reject direct I/O reads of encrypted files
      ntfs: do not read ahead encrypted files
      ntfs: persist nodump in the $LINUXFLAGS EA
      ntfs: persist append-only in the $LINUXFLAGS EA
      ntfs: persist immutable in the $LINUXFLAGS EA
      ntfs: add fileattr query support
      ntfs: restore EA attributes when an update fails
      ...

diff --cc Documentation/userspace-api/ioctl/ioctl-number.rst
index 35f495bc54f7,94a421970b85..dbe462040999
--- a/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
@@@ -400,8 -399,9 +400,9 @@@ Code  Seq#    Include Fil
  0xDD  00-3F                                                            ZFCP device driver see drivers/s390/scsi/
                                                                         <mailto:aherrman@de.ibm.com>
  0xE5  00-3F  linux/fuse.h
 -0xEC  00-01  drivers/platform/chrome/cros_ec_dev.h                     ChromeOS EC driver
 +0xEC  00-01  linux/platform_data/cros_ec_chardev.h                     ChromeOS EC driver
  0xEE  00-09  uapi/linux/pfrut.h                                        Platform Firmware Runtime Update and Telemetry
+ 0xEF  00-0F  uapi/linux/ntfs.h                                         NTFS
  0xF3  00-3F  drivers/usb/misc/sisusbvga/sisusb.h                       sisfb (in development)
                                                                         <mailto:thomas@winischhofer.net>
  0xF6  all                                                              LTTng Linux Trace Toolkit Next Generation