linux/fs/ntfs
Linus Torvalds dbad5db3a0 Description for this pull request:
- Harden handling of malformed on-disk metadata. It adds stricter
    validation for attributes, attribute lists, index roots and entries,
    EA entries, mapping pairs, and $LogFile restart areas. These changes
    fix several out-of-bounds access, integer overflow, and inconsistent
    metadata handling issues.
  - Preventing a writeback deadlock involving extent MFT records
  - Fixing resource leaks in fill_super() failure paths and the name cache
  - Serializing volume label access and improving its error handling
  - Fixing mapping-pairs decoding bounds and LCN overflow checks
  - Keeping resident index root metadata consistent during resize
  - Fixing the reported size of symbolic links
  - Avoiding an unnecessary allocation for resident inline data
  - Adds support for following and creating Windows native symbolic links.
    Relative links, absolute links, and junctions are handled, with new
    mount options controlling native symlink creation and absolute target
    translation. The existing WSL symlink behavior remains the default.
  - The unsupported quota code is removed, along with several smaller
    cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEE6NzKS6Uv/XAAGHgyZwv7A1FEIQgFAmozrD8WHGxpbmtpbmpl
 b25Aa2VybmVsLm9yZwAKCRBnC/sDUUQhCAmED/9ZqtMSkXmdQUtmu003BUIcx+hV
 zcVnjl1bxsHeOKypkN83agxVub3wwgmskdBuSkwURrSaLYywXAodT7fzE8m1YxpD
 GnUTMB01Cyj3huhS7D0eic0k/ssHQgQHhJINb2oeb+rBEH7HmMyWE3eIN1jgFK7z
 2X2fBimldeVdW2rdmEGt3IOpklAzkbGiHc08DZIV+GkdIDfqHVCGewG/ja4elEfE
 MkdmY1bBCXgUYsqqMiuw9Ux31wAni9MMPGpMtU6/+fYICMDWG563YbzIUTGm1hnw
 I/ZLNFVhFTqQanTh7dorpLWSheHu8XDVC/+2+Sqi4TpVP/JbASd/+4Xj4ORXY1wz
 jkNhgt826L9D2/VWX+GzPZt7TM+WGEsZ6QFZVJqx+xQSjdiJa3QwCfmzM0lEi7dD
 sK3DsENn1gJ4GULTOunSXz3ReX1TKlGkd2N2VZcuotzJAn45em+ZS6s6aJoON2Oi
 WYhkMS1ANmdvx8haUtafED46VxMR1IDnRVdidmBP3CriWD9CdfBXDUFwIV96RTED
 Nj7nBCv3DycU4e9c2eXJqjKfWY5nmGk+ZNeCims87QGUuPxGYmnGexS2kJEhrEj3
 yAQ88/QY1lJUzCxdwh4x83VIn78OaEbd8axoDyNlx4hjs0ptr6EaE43pE7GHOnHP
 l8JfUxcMn2+Yo5vpzg==
 =8gI8
 -----END PGP SIGNATURE-----

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

Pull ntfs updates from Namjae Jeon:

 - Harden handling of malformed on-disk metadata.

   This adds stricter validation for attributes, attribute lists, index
   roots and entries, EA entries, mapping pairs, and $LogFile restart
   areas. These changes fix several out-of-bounds access, integer
   overflow, and inconsistent metadata handling issues.

 - Prevent a writeback deadlock involving extent MFT records

 - Fix resource leaks in fill_super() failure paths and the name cache

 - Serialize volume label access and improving its error handling

 - Fix mapping-pairs decoding bounds and LCN overflow checks

 - Keep resident index root metadata consistent during resize

 - Fix the reported size of symbolic links

 - Avoid an unnecessary allocation for resident inline data

 - Add support for following and creating Windows native symbolic links.

   Relative links, absolute links, and junctions are handled, with new
   mount options controlling native symlink creation and absolute target
   translation. The existing WSL symlink behavior remains the default.

 - The unsupported quota code is removed, along with several smaller
   cleanups

* tag 'ntfs-for-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs: (39 commits)
  docs/fs/ntfs: add mount options to support Windows native symbolic links
  ntfs: support creating Windows native symlinks
  ntfs: clean up target name conversion for WSL symlinks
  ntfs: add native_symlink mount option
  ntfs: support following Windows native symlink with absolute paths
  ntfs: support following Windows native symlink with relative paths
  ntfs: fix incorrect size of symbolic link
  ntfs: use direct pointer for inline data to avoid redundant allocation
  ntfs: validate resident index root values on lookup
  ntfs: update index root allocated size before shrink
  ntfs: grow index root value before reparent header update
  ntfs: reject non-resident records for resident-only attributes
  ntfs: fix u16 truncation of restart-area length check
  ntfs: bound the attribute-list entry in ntfs_read_inode_mount()
  ntfs: bound the look-ahead attribute-list entry in ntfs_external_attr_find()
  ntfs: validate resident attribute lists and harden the validator
  ntfs: validate resident volume name values on lookup
  ntfs: reinit search context before volume information lookup
  ntfs: do not replace volume name after lookup errors
  ntfs: validate attribute values on lookup
  ...
2026-06-19 13:23:59 -07:00
..
aops.c ntfs: remove noop_direct_IO from address_space_operations 2026-04-18 11:33:03 +09:00
attrib.c ntfs: validate resident index root values on lookup 2026-06-09 21:51:01 +09:00
attrib.h ntfs: validate resident attribute lists and harden the validator 2026-06-08 22:57:55 +09:00
attrlist.c ntfs: validate attribute values on lookup 2026-06-06 00:20:28 +09:00
attrlist.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
bdev-io.c ntfs: fix copy length in ntfs_bdev_write() for non-page-aligned start 2026-05-08 23:50:53 +09:00
bitmap.c ntfs: fix invalid PTR_ERR() usage in __ntfs_bitmap_set_bits_in_run() 2026-04-28 21:59:59 +09:00
bitmap.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
collate.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
collate.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
compress.c ntfs: fix potential 32-bit truncation in ntfs_write_cb() 2026-04-18 11:33:21 +09:00
debug.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
debug.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
dir.c ntfs: validate index entries on reading 2026-06-06 00:19:56 +09:00
dir.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
ea.c ntfs: add bounds check before accessing EA entries 2026-06-06 00:19:59 +09:00
ea.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
file.c ntfs: add native_symlink mount option 2026-06-15 19:39:39 +09:00
index.c ntfs: update index root allocated size before shrink 2026-06-09 21:50:59 +09:00
index.h ntfs: validate index entries on reading 2026-06-06 00:19:56 +09:00
inode.c ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
inode.h ntfs: support following Windows native symlink with absolute paths 2026-06-15 19:39:37 +09:00
iomap.c ntfs: use direct pointer for inline data to avoid redundant allocation 2026-06-09 21:51:02 +09:00
iomap.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
Kconfig ntfs: select FS_IOMAP in Kconfig 2026-03-05 17:37:02 +09:00
layout.h ntfs: support following Windows native symlink with absolute paths 2026-06-15 19:39:37 +09:00
lcnalloc.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
lcnalloc.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
logfile.c ntfs: fix u16 truncation of restart-area length check 2026-06-08 23:04:17 +09:00
logfile.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
Makefile ntfs: remove unsupported quota handling 2026-06-06 00:20:03 +09:00
malloc.h Revert "fs: Remove NTFS classic" 2026-02-19 21:48:05 +09:00
mft.c ntfs: skip extent mft records in writeback to prevent deadlock 2026-06-06 00:19:47 +09:00
mft.h ntfs: change mft_no type to u64 2026-03-06 22:08:39 +09:00
mst.c ntfs: update mft operations 2026-02-19 21:48:07 +09:00
namei.c Description for this pull request: 2026-06-19 13:23:59 -07:00
ntfs.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
object_id.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
object_id.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
reparse.c ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
reparse.h ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
runlist.c ntfs: detect mapping-pairs LCN accumulator overflow 2026-06-06 00:20:26 +09:00
runlist.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
super.c ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
sysctl.c ntfs: fix sysctl table registration and path 2026-03-01 14:53:37 +09:00
sysctl.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
time.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
unistr.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
upcase.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
volume.h ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00