linux/drivers/crypto
Linus Torvalds fff0150b02 vfs-7.3-rc1.kthread
Please consider pulling these changes from the signed vfs-7.3-rc1.kthread tag.
 
 Thanks!
 Christian
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCan7RJQAKCRCRxhvAZXjc
 ohHuAQCFeGhxqsb44KhuJaWXewiXbefr6eg31lXmxgSfg0DILAD/Tw/WmpiUbX5M
 H+/jh6NmLKnQ/ADjlWFRy3R1K1Il3w4=
 =jwPP
 -----END PGP SIGNATURE-----

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.

  Path lookup from a kthread now fails by default. It makes it
  deliberately hard to offload security sensitive operations into init's
  filesystem state from a kthread.

  Places that legitimately need to look something up there opt in
  through the new scoped_with_init_fs() which temporarily overrides the
  caller's fs_struct with init's. usermodehelpers remain the only kernel
  tasks that genuinely share init's filesystem state, since they execute
  random binaries in the root filesystem (excellent...).

  The visible result is that /proc/2/root is a nullfs with an empty
  mountinfo while /proc/1/root is the real root"

* tag 'vfs-7.3-rc1.kthread' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (26 commits)
  initramfs_test: use test init/exit hooks to override init fs
  fs: stop rewriting paths for PF_EXITING | PF_DUMPCORE
  fs: stop rewriting kthread fs structs
  fs: start all kthreads in nullfs
  nullfs: make nullfs multi-instance
  devtmpfs: create private mount namespace
  fs: add umh argument to struct kernel_clone_args
  fs: stop sharing fs_struct between init_task and pid 1
  af_unix: use scoped_with_init_fs() for coredump socket lookup
  initramfs: use scoped_with_init_fs() for rootfs unpacking
  pnfs/blocklayout: use scoped_with_init_fs() for SCSI device lookup
  ksmbd: use scoped_with_init_fs() for VFS path operations
  ksmbd: use scoped_with_init_fs() for filesystem info path lookup
  ksmbd: use scoped_with_init_fs() for share path resolution
  fs: use scoped_with_init_fs() for kernel_read_file_from_path_initns()
  coredump: use scoped_with_init_fs() for coredump path resolution
  btrfs: use scoped_with_init_fs() for update_dev_time()
  scsi: target: use scoped_with_init_fs() for APTPL metadata
  scsi: target: use scoped_with_init_fs() for ALUA metadata
  crypto: ccp: use scoped_with_init_fs() for SEV file access
  ...
2026-08-17 11:35:12 -07:00
..
allwinner crypto: sun4i-ss - Remove insecure and unused rng_alg 2026-06-12 09:56:45 +08:00
amcc crypto: amcc - convert irq_of_parse_and_map to platform_get_irq 2026-06-12 09:56:45 +08:00
amlogic crypto: amlogic - avoid double cleanup in meson_crypto_probe() 2026-05-15 18:08:48 +08:00
aspeed crypto: aspeed - Use memcpy_from_sglist() in aspeed_ahash_dma_prepare() 2026-04-03 08:56:12 +08:00
axis crypto: artpec6 - refactor crypto_setup_out_descr for readability 2026-05-15 18:08:47 +08:00
bcm crypto: drivers - remove of_match_ptr from OF match tables 2026-05-22 20:25:30 +08:00
caam crypto: caam - use print_hex_dump_devel to guard key hex dumps 2026-05-07 16:10:02 +08:00
cavium crypto: cavium/cpt - fix DMA cleanup using wrong loop index 2026-06-12 09:56:45 +08:00
ccp crypto: ccp: use scoped_with_init_fs() for SEV file access 2026-06-29 10:44:06 +02:00
ccree crypto: ccree - replace snprintf("%s") with strscpy 2026-05-15 18:08:47 +08:00
chelsio Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
gemini crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
hisilicon hwrng: hisi-trng - Move hisi-trng into drivers/char/hw_random/ 2026-06-11 14:02:58 +08:00
inside-secure crypto: inside-secure/eip93 - Add check for devm_request_threaded_irq 2026-05-29 13:54:43 +08:00
intel Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
marvell crypto: marvell/octeontx - fix DMA cleanup using wrong loop index 2026-06-12 09:56:45 +08:00
nx crypto: nx - fix nx_crypto_ctx_exit argument 2026-06-05 19:36:35 +08:00
qce This push contains the following changes: 2026-08-10 08:36:22 -07:00
rockchip crypto: rockchip - drop redundant crypto_skcipher_ivsize() calls 2025-11-14 18:15:48 +08:00
starfive This push contains the following changes: 2026-08-10 08:36:22 -07:00
stm32 crypto: stm32 - use list_first_entry_or_null to simplify cryp_find_dev 2026-03-27 18:52:43 +09:00
tegra This push contains the following changes: 2026-08-10 08:36:22 -07:00
ti Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
virtio crypto: virtio - Convert from tasklet to BH workqueue 2026-02-28 12:54:14 +09:00
xilinx Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
atmel-aes-regs.h
atmel-aes.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
atmel-authenc.h
atmel-ecc.c crypto: atmel-ecc - drop dead code in atmel_ecdh_max_size 2026-06-12 09:56:45 +08:00
atmel-i2c.c crypto: atmel-i2c - drop redundant void * callback cast in enqueue 2026-05-22 20:25:30 +08:00
atmel-i2c.h crypto: atmel-sha204a - add reading from otp zone 2024-05-10 17:15:25 +08:00
atmel-sha-regs.h
atmel-sha.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
atmel-sha204a.c crypto: atmel-sha204a - Use named initializers for struct i2c_device_id 2026-05-29 13:55:58 +08:00
atmel-tdes-regs.h
atmel-tdes.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
geode-aes.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
geode-aes.h
hifn_795x.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
img-hash.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
Kconfig hwrng: xilinx - Move xilinx-rng into drivers/char/hw_random/ 2026-06-12 09:56:26 +08:00
Makefile crypto: exynos-rng - Remove exynos-rng driver 2026-06-11 14:03:13 +08:00
mxs-dcp.c crypto: mxs-dcp - Only set OTP_KEY bit for OTP key 2025-03-08 16:22:23 +08:00
omap-aes-gcm.c crypto: omap - Use new AES library API 2026-01-15 14:09:08 -08:00
omap-aes.c crypto: omap - add omap_aes_unregister_algs helper 2026-05-07 16:10:02 +08:00
omap-aes.h crypto: omap - Use new AES library API 2026-01-15 14:09:08 -08:00
omap-crypto.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
omap-crypto.h
omap-des.c crypto: omap-des - drop of_match_ptr from OF match table 2026-05-22 20:25:30 +08:00
omap-sham.c crypto: omap - add omap_sham_unregister_algs helper 2026-05-07 16:10:02 +08:00
padlock-aes.c
padlock-sha.c crypto: padlock-sha - Disable for Zhaoxin processor 2026-03-14 11:34:06 -07:00
qcom-rng.c crypto: drivers - remove of_match_ptr from OF match tables 2026-05-22 20:25:30 +08:00
s5p-sss.c crypto: s5p-sss - use unregister_{ahashes,skciphers} in probe/remove 2026-03-27 18:52:25 +09:00
sa2ul.c crypto: sa2ul - Fix AEAD fallback algorithm names 2026-04-16 17:29:40 +08:00
sa2ul.h
sahara.c crypto: drivers - Switch back to struct platform_driver::remove() 2024-10-19 08:44:30 +08:00
talitos.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
talitos.h crypto: talitos/hash - use descriptor chaining for SEC1 instead of workqueue 2026-05-15 18:08:48 +08:00