Linux/linux 0f23d56tools/testing/selftests/ftrace poll.c, tools/testing/selftests/zram zram_lib.sh

Merge tag 'linux_kselftest-next-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kselftest update from Shuah Khan:
 "Fix zram test failure in kernel_gte() when using dash and a spelling
  error in ftrace poll test comment"

* tag 'linux_kselftest-next-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  selftests/zram: fix kernel_gte() for POSIX sh
  selftests/ftrace: fix spelling error in poll test comment
DeltaFile
+1-1tools/testing/selftests/zram/zram_lib.sh
+1-1tools/testing/selftests/ftrace/poll.c
+2-22 files

Linux/linux fd89b0bDocumentation/dev-tools/kunit faq.rst, lib/kunit string-stream.c test.c

Merge tag 'linux_kselftest-kunit-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kunit updates from Shuah Khan:
 "Fixes and new kunit and tools, enable new configs:

   - configs: enable GPIO kunit test cases in all_tests.config

   - string-stream: Replace strlcat() with strscpy() and seq_buf

   - configs: enable GPIO kunit test cases in all_tests.config

  Documentation:

   - Test config entries shouldn't select other configs

   - Fix outdated FAQ entries

  Add the ability to skip entire test suites and an example test suite
  that can be skipped at runtime:

    [13 lines not shown]
DeltaFile
+24-19Documentation/dev-tools/kunit/faq.rst
+29-0lib/kunit/kunit-example-test.c
+20-8lib/kunit/debugfs.c
+16-1lib/kunit/test.c
+12-0tools/testing/kunit/kunit_tool_test.py
+7-2lib/kunit/string-stream.c
+108-305 files not shown
+116-3411 files

Linux/linux fc8c78blib/crypto aes.c, lib/crypto/tests hash-test-template.h aes_ccm_kunit.c

Merge tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull crypto library test updates from Eric Biggers:

 - Add comprehensive KUnit test suites for the new AES-GCM and AES-CCM
   library APIs

 - Add FIPS self-tests for all the AES encryption modes. This is needed
   for parity with the traditional crypto API

 - Fix a couple more issues in the IRQ test helper

* tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
  lib/crypto: aes-cmac: Use __cleanup() instead of memzero_explicit()
  kunit: irq: Unregister on-stack timer and work from debugobjects
  kunit: irq: Continue increasing hrtimer interval for longer
  lib/crypto: tests: Add KUnit test suite for AES-GCM
  lib/crypto: tests: Add KUnit test suite for AES-CCM
  lib/crypto: tests: Add aead-test-template.h

    [5 lines not shown]
DeltaFile
+1,039-0lib/crypto/tests/aead-test-template.h
+472-0lib/crypto/tests/aes_gcm_kunit.c
+356-0lib/crypto/tests/aes_ccm_kunit.c
+244-18lib/crypto/aes.c
+96-153lib/crypto/tests/hash-test-template.h
+128-26scripts/crypto/gen-fips-testvecs.py
+2,335-19730 files not shown
+2,783-44236 files

Linux/linux d47db9bcrypto aes.c, include/crypto aes-xts.h aes-gcm.h

Merge tag 'libcrypto-updates-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull crypto library updates from Eric Biggers:
 "Add library APIs for most AES encryption modes that are used in the
  kernel (ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM, CCM).

  These AES modes have many in-kernel users that are currently using the
  crypto_skcipher or crypto_aead APIs. These existing APIs are difficult
  to use and inefficient. Until now, the lack of proper library support
  for these has been the main gap in the crypto library.

  This set of changes is the next stage of addressing it:

   - Implement the new APIs on top of the existing support for
     single-block AES in the library.

   - Fully document the new APIs.

   - Migrate the only user of the old AES-GCM library API to the new,

    [58 lines not shown]
DeltaFile
+1,163-0lib/crypto/aes.c
+891-1crypto/aes.c
+0-721lib/crypto/aesgcm.c
+266-0include/crypto/aes-ccm.h
+260-0include/crypto/aes-gcm.h
+94-0include/crypto/aes-xts.h
+2,674-72221 files not shown
+3,073-79927 files

Linux/linux 1d7443eDocumentation/filesystems fscrypt.rst, fs/crypto crypto.c bio.c

Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux

Pull fscrypt updates from Eric Biggers:
 "The main change this cycle is a significant simplification that's been
  overdue for a while now: standardizing on a single file contents
  encryption implementation in ext4 and f2fs, instead of having two.

  Specifically, the original filesystem-layer file contents encryption
  implementation is removed, and the blk-crypto implementation is now
  used unconditionally. blk-crypto delegates either to inline crypto
  hardware or to the CPU via blk-crypto-fallback. The latter is
  functionally equivalent to the original filesystem-layer code.

  The blk-crypto implementation already existed, but previously it was
  used only when the filesystem was mounted with "-o inlinecrypt". Now,
  "-o inlinecrypt" just selects whether inline crypto hardware is used.

  To allow maintaining that user control over hardware use, the
  blk-crypto API is extended with a new flag BLK_CRYPTO_CFG_ALLOW_HW.

    [48 lines not shown]
DeltaFile
+0-424fs/crypto/inline_crypt.c
+415-0fs/crypto/block.c
+0-216fs/crypto/bio.c
+54-126fs/crypto/crypto.c
+74-70Documentation/filesystems/fscrypt.rst
+35-104fs/ext4/readpage.c
+578-94034 files not shown
+770-1,52240 files

Linux/linux 63c070cfs/nilfs2 ioctl.c inode.c

Merge tag 'nilfs2-v7.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/nilfs2

Pull nilfs2 updates from Viacheslav Dubeyko:
 "This contains fixes of syzbot reported issue and various fixes in
  NILFS2 functionality:

   - Reject super-root inode sizes whose computed on-disk footprint
     exceeds the filesystem block size (David Lee)

   - Replace WARN_ON() in nilfs_cpfile_delete_checkpoints() with
     returning -EIO and reporting a filesystem error via nilfs_error()
     in the case of corrupted checkpoint count on the storage medium
     (Igor Putko)

   - Fixed a potential infinite loop in nilfs_clean_segments() reported
     by syzbot (Joshua Crofts)

     In nilfs_clean_segments(), if err is non-zero, logic logs the error
     and sleeps but doesn't abort when it encounters a terminal error

    [40 lines not shown]
DeltaFile
+48-10fs/nilfs2/btree.c
+25-17fs/nilfs2/segment.c
+28-0fs/nilfs2/sufile.h
+19-7fs/nilfs2/page.c
+11-13fs/nilfs2/inode.c
+19-3fs/nilfs2/ioctl.c
+150-5012 files not shown
+206-8918 files

Linux/linux 0de672cfs/hfs catalog.c bnode.c, fs/hfsplus brec.c hfsplus_fs.h

Merge tag 'hfs-v7.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs

Pull HFS updates from Viacheslav Dubeyko:
 "This contains several fixes in HFS/HFS+ of syzbot reported issues and
  HFS/HFS+ fixes of xfstests failures.

   - b-tree bitmap corruption check (Aditya Prakash Srivastava)

     During b-tree open (hfs_btree_open()), the code verifies that the
     allocation map bit for the tree header (node 0) is set. If not, it
     indicates a corrupted map record/bitmap and mounts the volume as
     read-only (SB_RDONLY) to prevent further damage.

   - Validate catalog CNIDs before instantiating inodes (David
     Maximiliano Hermitte)

     The hfs_cat_find_brec() first resolves a catalog thread record by
     CNID and then looks up the corresponding catalog record by
     parent/name. On a corrupted filesystem image, the second lookup may

    [48 lines not shown]
DeltaFile
+168-42fs/hfs/btree.c
+89-21fs/hfs/mdb.c
+85-0fs/hfsplus/hfsplus_fs.h
+37-16fs/hfsplus/brec.c
+0-42fs/hfs/bnode.c
+40-1fs/hfs/catalog.c
+419-12212 files not shown
+600-16518 files

Linux/linux 4bb187dfs/gfs2 super.c glock.h

Merge tag 'gfs2-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2

Pull gfs2 updates from Andreas Gruenbacher:

 - Don't cache unreferenced glocks: when a glock is no longer referenced
   (for example, because the inode it protects is evicted), it is now
   released as soon as possible instead of leaving it around until
   memory pressure or an unmount forces it out.

   For some workloads, this saves a lot of memory and speeds up unmounts
   significantly.

 - Harden gfs2_glock_hold() by making sure the caller holds a reference
   and fix a related race in checking for the liveliness of glocks
   between gdlm_bast() and gfs2_glock_cb().

* tag 'gfs2-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
  gfs2: harden gfs2_glock_hold
  gfs2: Remove the glock lru list and shrinker

    [3 lines not shown]
DeltaFile
+25-206fs/gfs2/glock.c
+4-3fs/gfs2/incore.h
+1-4fs/gfs2/lock_dlm.c
+3-2fs/gfs2/ops_fstype.c
+1-1fs/gfs2/super.c
+1-1fs/gfs2/glock.h
+35-2173 files not shown
+35-2219 files

Linux/linux cf07e82fs/xfs xfs_bmap_util.c xfs_file.c, fs/xfs/libxfs xfs_dquot_buf.c xfs_rtgroup.c

Merge tag 'xfs-merge-7.3' of git://git.kernel.org:/pub/scm/fs/xfs/xfs-linux

Pull xfs updates from Carlos Maiolino:
 "There are no big standing out features on this window, so this
  mostly consists on bug fixes and code refactoring.

  The only user visible change that stands out is the support for
  FALLOC_FL_WRITE_ZEROES added to this"

* tag 'xfs-merge-7.3' of git://git.kernel.org:/pub/scm/fs/xfs/xfs-linux: (23 commits)
  xfs: validate attr entry pointer before field access
  xfs: check split_sectors validity before bio_split call
  xfs: use file target for post-log fsync fallback flush
  xfs: restore nofs context unconditionally in xfs_trans_roll
  xfs: add lockless xfs_buf_readahead_map fast path
  xfs: move buffer locking out of xfs_find_get_buf
  xfs: merge xfs_buf_reverify into xfs_buf_read_map
  xfs: use goto based error unwinding in xfs_buf_read_map
  xfs: don't reverify buffers in xfs_buf_readahead_map

    [12 lines not shown]
DeltaFile
+208-188fs/xfs/xfs_buf.c
+104-14fs/xfs/xfs_file.c
+50-34fs/xfs/libxfs/xfs_metadir.c
+26-32fs/xfs/libxfs/xfs_rtgroup.c
+14-33fs/xfs/libxfs/xfs_dquot_buf.c
+36-6fs/xfs/xfs_bmap_util.c
+438-30719 files not shown
+504-35825 files

Linux/linux ff68e5ffs buffer.c, fs/ext2 inode.c

Merge tag 'vfs-7.3-rc1.sync' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs writeback updates from Christian Brauner:
 "This makes sync_inode_metadata() and writeback_single_inode() persist
  not only the inode but all metadata associated with it.

  A new .sync_inode_metadata superblock operation is called from
  __writeback_single_inode(). Alongside it a new I_METADATA_WRITEBACK
  state flag is added.

  Filesystems no longer need their own mmb_fsync() implementations and
  can just use simple_fsync(). All metadata is now written for IS_SYNC
  and IS_DIRSYNC inodes. Races where several fsyncs raced and mmb_sync()
  could return before all buffers were really persisted are fixed since
  I_SYNC now serializes properly.

  The I_METADATA_WRITEBACK scheme also fixes the case where a
  WB_SYNC_NONE writeback landing between write(2) and fsync(2) left
  fsync(2) failing to persist the inode. That problem is not specific to

    [42 lines not shown]
DeltaFile
+72-38fs/ext4/inode.c
+8-75fs/buffer.c
+46-17fs/fat/inode.c
+26-28fs/udf/inode.c
+35-17fs/minix/inode.c
+30-19fs/ext2/inode.c
+217-19435 files not shown
+413-36641 files

Linux/linux 1781f0bblock bdev.c, fs super.c

Merge tag 'vfs-7.3-rc1.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs superblock updates from Christian Brauner:

 - Make it possible to share a block device between multiple
   filesystems.

   erofs can mount read-only blob devices shared between many
   superblocks, but because we only tracked a single superblock a
   freeze, thaw, removal or sync on such a device was never propagated
   to all the superblocks using it, and there was no way to find them.

   Add an efficient table to lookup all superblocks using a given block
   device.

 - A bunch of pre-existing fixes fell out of this work:

   A block-device freeze racing a btrfs device change could leave the
   whole filesystem stuck frozen. A bdev_freeze() issued by "dmsetup

    [31 lines not shown]
DeltaFile
+428-196fs/super.c
+135-0tools/testing/selftests/filesystems/ustat_test.c
+99-26block/bdev.c
+89-16fs/btrfs/volumes.c
+58-7fs/btrfs/dev-replace.c
+23-12fs/erofs/super.c
+832-25721 files not shown
+882-30627 files

Linux/linux aaed66fDocumentation/filesystems overlayfs.rst, fs/overlayfs super.c dir.c

Merge tag 'vfs-7.3-rc1.ovl' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull overlayfs updates from Christian Brauner:
 "This lets the merged overlayfs mount itself be idmapped through
  mount_setattr(MOUNT_ATTR_IDMAP), in addition to the already supported
  idmapped lower and upper layers. The same overlay tree can then be
  exposed under a different ownership view.

  Overlayfs already normalizes every underlying id through the relevant
  layer idmap when ovl_copyattr() copies attributes into the overlay
  inode. So the overlay inode's i_uid and i_gid are overlay-final ids.

  The overlay mount idmap composes on top of that and is applied at the
  overlay-inode boundary only while the underlying layers keep being
  accessed with the mounter's credentials through their own (possibly
  idmapped) mounts.

  So this only changes how the caller sees the overlay inode and never
  widens the mounter's access to the layers. The second,

    [23 lines not shown]
DeltaFile
+501-0tools/testing/selftests/filesystems/overlayfs/idmapped_mounts.c
+21-5fs/overlayfs/inode.c
+8-9fs/overlayfs/dir.c
+8-8tools/testing/selftests/filesystems/overlayfs/set_layers_via_fds.c
+16-0Documentation/filesystems/overlayfs.rst
+1-1fs/overlayfs/super.c
+555-234 files not shown
+560-2310 files

Linux/linux 55668d0Documentation/filesystems/caching cachefiles.rst, fs/cachefiles daemon.c internal.h

Merge tag 'vfs-7.3-rc1.netfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull cachefiles ondemand removal from Christian Brauner:
 "This sunsets cachefiles ondemand mode.

  It was an effort to make fscache usable as a kernel cache for lazy
  pulling. EROFS over fscache was its only in-tree user. fscache has
  since become netfslib-oriented while EROFS never acts as a network
  filesystem and EROFS over fscache has been removed.

  So this cleans up the netfs, fscache and cachefiles side as well"

* tag 'vfs-7.3-rc1.netfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  cachefiles,netfs: sunset ondemand mode
DeltaFile
+0-761fs/cachefiles/ondemand.c
+1-183include/trace/events/cachefiles.h
+0-179Documentation/filesystems/caching/cachefiles.rst
+0-134fs/cachefiles/internal.h
+7-89fs/cachefiles/daemon.c
+0-68include/uapi/linux/cachefiles.h
+8-1,4147 files not shown
+9-1,48413 files

Linux/linux c3d6d6dfs namespace.c

Merge tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull mount updates from Christian Brauner:

 - Make the legacy mount API notify pollers of propagation changes.

   Changing propagation via change_mnt_propagation() or with
   MOVE_MOUNT_SET_GROUP update the propagation relationship of the
   target mount. But unlike mount_setattr() neither path touched the
   affected mount namespace. So pollers of /proc/<pid>/mountinfo were
   never woken.

 - Also remove a redundant panic() in mnt_init()

* tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  mount: remove redundant panic() in mnt_init()
  fs/namespace: notify pollers of legacy propagation changes
DeltaFile
+7-3fs/namespace.c
+7-31 files

Linux/linux 1c3e8cefs dcache.c inode.c, include/linux pipe_fs_i.h

Merge tag 'vfs-7.3-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull misc vfs updates from Christian Brauner:
 "Bigger cleanups:

   - The lockref dead-count handling is tidied up.

     The open-coded check for a count below zero as the dead marker
     relies on information the caller should not have.

   - make put_mnt_ns() leave mounts connected. Destroying a mount
     namespace disconnected its mounts from their mount points. So a
     file descriptor still open on the parent of a mount point could be
     used to peek under it.

     Locked mounts were already kept connected to prevent exactly that.
     But a mount is only locked when its tree is copied across a user
     namespace boundary. So a mount namespace set up by a privileged
     component had no locked mounts and its mounts were disconnected.

    [72 lines not shown]
DeltaFile
+96-113fs/pipe.c
+58-0tools/testing/selftests/filesystems/mntns_cleanup/mntns_cleanup_test.c
+31-12fs/pidfs.c
+19-23fs/inode.c
+22-4include/linux/pipe_fs_i.h
+14-9fs/dcache.c
+240-16173 files not shown
+428-27579 files

Linux/linux ab5ed08Documentation/filesystems porting.rst, fs namei.c

Merge tag 'vfs-7.3-rc1.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs lookup updates from Christian Brauner:
 "This refactors lookup_open() and adds vfs_lookup_open() for nfsd.

  mnt_want_write() and parent locking are moved into lookup_open()
  itself.

  audit_inode_child() is also now called in lookup_open() on failure.
  That is the calling convention in vfs_create() and vfs_mkdir(), but
  lookup_open() made no such call when atomic_open() should have created
  a file and did not. And neither did the regular ->create() path fwiw.

  This also contains work to remove the unneeded excl argument from the
  ->create() inode op"

* tag 'vfs-7.3-rc1.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  fs/namei.c: fix coding style in atomic_open() and lookup_open()
  fs/namei.c: fix kerneldoc of atomic_open() and vfs_lookup_open()

    [8 lines not shown]
DeltaFile
+247-108fs/namei.c
+8-0Documentation/filesystems/porting.rst
+2-3fs/xfs/xfs_iops.c
+2-3fs/gfs2/inode.c
+2-2fs/jffs2/dir.c
+2-2fs/afs/dir.c
+263-11848 files not shown
+315-17354 files

Linux/linux fff0150drivers/char misc_minor_kunit.c, fs fs_struct.c

Merge tag 'vfs-7.3-rc1.kthread' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull kthread vfs updates from Christian Brauner:
 "This stops kernel threads from sharing filesystem state with
  userspace. This work is about 3 cycles old and has been in -next
  for about that time.

  When the kernel boots init_task creates PID 1 and then kthreadd. From
  that point every kthread and PID 1 share the same fs_struct. That is
  why pivot_root() has to rewrite the fs_struct of all kthreads. The
  rewriting exists so that kthreads can use init's filesystem state when
  they want to. It also means userspace can move the ground out from
  under the kernel.

  PID 1 now gets a completely separate fs_struct. All kthreads are
  anchored in a private SB_KERNMOUNT instance of nullfs that cannot be
  mounted on and cannot be used to follow other mounts. Userspace init
  can no longer affect kthread filesystem state and kthreads can no
  longer affect userspace fs state without explicit opting in to that.

    [36 lines not shown]
DeltaFile
+100-3fs/fs_struct.c
+33-20kernel/fork.c
+34-0include/linux/fs_struct.h
+15-10drivers/char/misc_minor_kunit.c
+17-2init/initramfs_test.c
+6-11net/unix/af_unix.c
+205-4625 files not shown
+311-11631 files

Linux/linux de03b17fs bpf_fs_kfuncs.c, include/linux net.h

Merge tag 'vfs-7.3-rc1.kfunc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs bpf access updates from Christian Brauner:
 "This adds a bpf_sock_read_xattr() kfunc so a BPF LSM program can read
  a user.* extended attribute from a socket's sockfs inode locklessly.

  userspace already uses user.* xattrs on sockets to implement socket
  rate limiting and to tag sockets for other purposes such as a varlink
  registry. There has been no efficient way for a BPF program to read
  those labels back. With this a listening socket marked from userspace
  with fsetxattr() can be read back during bind or connect and acted
  upon on the connecting socket. That lets userspace mark sockets and
  later rediscover them or implement policy on them"

* tag 'vfs-7.3-rc1.kfunc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  selftests/bpf: Add test for bpf_sock_read_xattr() kfunc
  fs: Add bpf_sock_read_xattr() kfunc to read socket xattrs
DeltaFile
+67-0tools/testing/selftests/bpf/prog_tests/sock_xattr.c
+54-0tools/testing/selftests/bpf/progs/sock_read_xattr.c
+37-0fs/bpf_fs_kfuncs.c
+25-0net/socket.c
+3-0tools/testing/selftests/bpf/bpf_experimental.h
+1-0include/linux/net.h
+187-06 files

Linux/linux 9ea8d61fs/fuse file.c, fs/iomap iter.c direct-io.c

Merge tag 'vfs-7.3-rc1.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull iomap updates from Christian Brauner:
 "The bulk of this is the conversion of iomap to a single ->iomap_next()
  callback and thus finishing the move to an iterator model.

  Every iomap operation drove its iteration through a struct iomap_ops
  holding ->iomap_begin() and ->iomap_end(). iomap_iter() only ever sees
  those as pointers. That means every step of every iteration is an
  indirect call.

  This collapses both into one ->iomap_next() callback that finishes the
  previous mapping and produces the next one. This lets callers inline
  the iteration loop and pass its ->iomap_next() as a compile time
  constant. That means the compiler can turn it into a direct and hence
  inlineable call.

  This also allows future callers to express custom logic to drive the
  iteration forward better. xfs, btrfs, ext4, ext2, erofs, f2fs, gfs2,

    [60 lines not shown]
DeltaFile
+183-7fs/iomap/direct-io.c
+161-17include/linux/iomap.h
+74-56fs/iomap/iter.c
+30-11fs/xfs/xfs_iomap.c
+22-10fs/ntfs/iomap.c
+5-19fs/fuse/file.c
+475-12023 files not shown
+570-16029 files

Linux/linux 3d1f952fs/fat namei_msdos.c

Merge tag 'vfs-7.3-rc1.fat' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull FAT update from Christian Brauner:
 "This rejects names longer than NAME_MAX in msdos_format_name().

  The VFS only enforces PATH_MAX rather than the length of an individual
  component. open() on such a path component reported success for a name
  far longer than NAME_MAX"

* tag 'vfs-7.3-rc1.fat' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  fat: reject name longer than NAME_MAX in msdos_format_name()
DeltaFile
+3-0fs/fat/namei_msdos.c
+3-01 files

Linux/linux cd051cfDocumentation/filesystems failfs.rst, fs open.c failfs.c

Merge tag 'vfs-7.3-rc1.failfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull failfs filesystem from Christian Brauner:
 "Add failfs and expose a FD_FAILFS_ROOT sentinel.

  This allows userspace to shed their filesystem state completely. A
  process with its root or working directory in failfs must anchor every
  path lookup at an explicit file descriptor. Absolute paths, absolute
  symlinks and AT_FDCWD-relative lookups simply fail.

  Failfs is the counterpart to nullfs. nullfs says adds a permanently
  empty, immutable directory whose lookups fail with ENOENT but which
  can be opened, read, stat'd and mounted upon. Failfs on the other hand
  fails every operation. The root cannot be opened at all. A single
  instance is mounted during early boot via kern_mount(), which makes it
  logically distinct from every mount namespace.

  This is accompanied by a new fchroot() system call which makes
  chrooting via a file descriptor a first class concept. It's possible

    [11 lines not shown]
DeltaFile
+585-0tools/testing/selftests/filesystems/failfs/failfs_test.c
+166-0fs/failfs.c
+73-0Documentation/filesystems/failfs.rst
+50-1fs/open.c
+5-1tools/include/uapi/asm-generic/unistd.h
+5-1include/uapi/asm-generic/unistd.h
+884-338 files not shown
+931-544 files

Linux/linux d31a688fs/efs inode.c super.c, fs/freevxfs vxfs_bmap.c vxfs_lookup.c

Merge tags 'vfs-7.3-rc1.efs' and 'vfs-7.3-rc1.freevxfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull efs and freevxfs removal from Christian Brauner:
 "This removes the EFS and freevxfs filesystems:

   - EFS was the read-only on-disk format SGI used on IRIX before XFS

   - freevxfs provided compatibility with various old-school Unix
     systems from the 1990s and was fun 25 years ago. Today it mostly
     serves as fodder for automated bug checkers. There has been only
     one known user and contributor in the last 15 years"

* tag 'vfs-7.3-rc1.efs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  efs: Remove EFS

* tag 'vfs-7.3-rc1.freevxfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  freevxfs: remove the driver
DeltaFile
+0-368fs/efs/super.c
+0-347fs/freevxfs/vxfs_super.c
+0-315fs/efs/inode.c
+0-314fs/freevxfs/vxfs_inode.c
+0-273fs/freevxfs/vxfs_lookup.c
+0-272fs/freevxfs/vxfs_bmap.c
+0-1,88924 files not shown
+0-3,72430 files

Linux/linux b9cba7eDocumentation/admin-guide binfmt-misc.rst, fs binfmt_misc_bpf.c binfmt_misc.c

Merge tag 'vfs-7.3-rc1.binfmt' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull binfmt updates from Christian Brauner:
 "This contains a bunch of work for binfmt_misc. It fixes a bunch of
  old bugs, reworks the locking, and then extends the format registry
  so a binary type can be matched programmatically and its interpreter
  computed per exec instead of being a fixed string recorded at
  registration time.

  This allows nixos and other to e.g., implement relocatable binaries
  meaning the interpreter/dynamic loader can be determined
  programatically, say found relative to the binary. The mechanism is
  flexible and can support other policies:

   - Handler lookup is now an rcu walk. An exec that matches no
     binfmt_misc entry should now never write to a shared cacheline

   - remove the VERBOSE_STATUS and USE_DEBUG compile time toggles


    [85 lines not shown]
DeltaFile
+1,157-523fs/binfmt_misc.c
+638-0tools/testing/selftests/exec/binfmt_misc_bpf.c
+434-0fs/binfmt_misc_bpf.c
+372-0tools/testing/selftests/exec/binfmt_misc_loader.c
+315-0tools/testing/selftests/exec/binfmt_misc_common.h
+243-3Documentation/admin-guide/binfmt-misc.rst
+3,159-52629 files not shown
+5,000-55435 files

Linux/linux 043d7a2ipc mqueue.c, kernel exit.c

Merge tags 'ipc-7.3-rc1.misc' and 'kernel-7.3-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull misc ipc and core updates from Christian Brauner:

 - reject mq_notify() with a zero signal number

 - fix coding style in the exit path

* tag 'ipc-7.3-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  mqueue: reject mq_notify with signo 0

* tag 'kernel-7.3-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  kernel: exit: fix coding style missing spaces
DeltaFile
+2-3ipc/mqueue.c
+1-1kernel/exit.c
+3-42 files

Linux/linux 8d3ae59. Makefile

Linux 7.2
DeltaFile
+1-1Makefile
+1-11 files

Linux/linux fd923b3kernel/sched fair.c

Merge tag 'sched_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Borislav Petkov:

 - Make sure a delayed sched entity's runtime stats are updated at the
   right time so that it receives the proper lag compensation

* tag 'sched_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched: Update time before requeueing delayed entities
DeltaFile
+2-0kernel/sched/fair.c
+2-01 files

Linux/linux 240de1adrivers/clocksource arm_arch_timer.c, include/linux tick.h

Merge tag 'timers_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull timer fixes from Borislav Petkov:

 - Detect a broken EL2 virtual timer in the bcm2712 SoC boards (RPi5)
   and fallback to the physical one instead

 - Fix a build error with ARM rpc_defconfig and function tracer enabled

* tag 'timers_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer
  tick: Include ktime.h and jiffies.h in linux/tick.h
DeltaFile
+23-1drivers/clocksource/arm_arch_timer.c
+2-0include/linux/tick.h
+25-12 files

Linux/linux 7820dd4include/linux rseq_entry.h

Merge tag 'core_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull rseq fix from Borislav Petkov:

 - Prevent a lockup when rseq grants a timeslice extension

* tag 'core_urgent_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  rseq: Prevent hard lockup on granted time slice extension
DeltaFile
+1-0include/linux/rseq_entry.h
+1-01 files

Linux/linux d6e7d57drivers/net/wireless/mediatek/mt76/mt7921 main.c regd.h

wifi: mt76: mt7921: refactor regd update to fix recursive mutex deadlock

Split mt7921_mcu_regd_update() into two functions to prevent recursive
mutex acquisition. Introduce __mt7921_mcu_regd_update() as the internal
implementation that assumes the mutex is already held by the caller,
while mt7921_mcu_regd_update() remains as the external interface that
handles mutex acquisition and release.

This fixes a deadlock issue when mt7921_regd_set_6ghz_power_type() is
called with the device mutex already held. Without this change, calling
mt7921_mcu_regd_update() would attempt to acquire the same mutex again,
causing a recursive lock deadlock.

The __mt7921_mcu_regd_update() function can be safely called when the
caller has already acquired the device mutex, avoiding the deadlock
while maintaining proper synchronization for regulatory domain updates.

Fixes: dc2608cf5224 ("wifi: mt76: mt7921: refactor regulatory notifier flow")
Signed-off-by: Charlie-cy Wu <Charlie-cy.Wu at mediatek.com>

    [3 lines not shown]
DeltaFile
+19-11drivers/net/wireless/mediatek/mt76/mt7921/regd.c
+1-1drivers/net/wireless/mediatek/mt76/mt7921/main.c
+2-0drivers/net/wireless/mediatek/mt76/mt7921/regd.h
+22-123 files

Linux/linux d5b95e6drivers/i2c/busses i2c-designware-platdrv.c

Revert "i2c: designware: defer probe if child GpioInt controllers are not bound"

This reverts commit 0a4bb2abc3e56d7be6e69b050c88ba52c87e22bf.

This was reported to break the touchpad on at least some Thinkpads, and
while the revert has hit the i2c tree, it hasn't hit mine.  So I'm
reverting it directly just to have this resolved for the imminent 7.2
release.

Reported-by: Thorsten Leemhuis <linux at leemhuis.info>
Link: https://lore.kernel.org/all/b4a4eadb-282f-464c-843a-19d415a34d0c@leemhuis.info/
Cc: Mario Limonciello <mario.limonciello at amd.com>
CC: Hardik Prakash <hardikprakash.official at gmail.com>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
DeltaFile
+0-80drivers/i2c/busses/i2c-designware-platdrv.c
+0-801 files