linux/drivers
Linus Torvalds b7ce6fa90f vfs-6.18-rc1.misc
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaNZQMQAKCRCRxhvAZXjc
 omNLAQCgrwzd9sa1JTlixweu3OAxQlSEbLuMpEv7Ztm+B7Wz0AD9HtwPC44Kev03
 GbMcB2DCFLC4evqYECj6IG7NBmoKsAs=
 =1ICf
 -----END PGP SIGNATURE-----

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

Pull misc vfs updates from Christian Brauner:
 "This contains the usual selections of misc updates for this cycle.

  Features:

   - Add "initramfs_options" parameter to set initramfs mount options.
     This allows to add specific mount options to the rootfs to e.g.,
     limit the memory size

   - Add RWF_NOSIGNAL flag for pwritev2()

     Add RWF_NOSIGNAL flag for pwritev2. This flag prevents the SIGPIPE
     signal from being raised when writing on disconnected pipes or
     sockets. The flag is handled directly by the pipe filesystem and
     converted to the existing MSG_NOSIGNAL flag for sockets

   - Allow to pass pid namespace as procfs mount option

     Ever since the introduction of pid namespaces, procfs has had very
     implicit behaviour surrounding them (the pidns used by a procfs
     mount is auto-selected based on the mounting process's active
     pidns, and the pidns itself is basically hidden once the mount has
     been constructed)

     This implicit behaviour has historically meant that userspace was
     required to do some special dances in order to configure the pidns
     of a procfs mount as desired. Examples include:

     * In order to bypass the mnt_too_revealing() check, Kubernetes
       creates a procfs mount from an empty pidns so that user
       namespaced containers can be nested (without this, the nested
       containers would fail to mount procfs)

       But this requires forking off a helper process because you cannot
       just one-shot this using mount(2)

     * Container runtimes in general need to fork into a container
       before configuring its mounts, which can lead to security issues
       in the case of shared-pidns containers (a privileged process in
       the pidns can interact with your container runtime process)

       While SUID_DUMP_DISABLE and user namespaces make this less of an
       issue, the strict need for this due to a minor uAPI wart is kind
       of unfortunate

       Things would be much easier if there was a way for userspace to
       just specify the pidns they want. So this pull request contains
       changes to implement a new "pidns" argument which can be set
       using fsconfig(2):

           fsconfig(procfd, FSCONFIG_SET_FD, "pidns", NULL, nsfd);
           fsconfig(procfd, FSCONFIG_SET_STRING, "pidns", "/proc/self/ns/pid", 0);

       or classic mount(2) / mount(8):

           // mount -t proc -o pidns=/proc/self/ns/pid proc /tmp/proc
           mount("proc", "/tmp/proc", "proc", MS_..., "pidns=/proc/self/ns/pid");

  Cleanups:

   - Remove the last references to EXPORT_OP_ASYNC_LOCK

   - Make file_remove_privs_flags() static

   - Remove redundant __GFP_NOWARN when GFP_NOWAIT is used

   - Use try_cmpxchg() in start_dir_add()

   - Use try_cmpxchg() in sb_init_done_wq()

   - Replace offsetof() with struct_size() in ioctl_file_dedupe_range()

   - Remove vfs_ioctl() export

   - Replace rwlock() with spinlock in epoll code as rwlock causes
     priority inversion on preempt rt kernels

   - Make ns_entries in fs/proc/namespaces const

   - Use a switch() statement() in init_special_inode() just like we do
     in may_open()

   - Use struct_size() in dir_add() in the initramfs code

   - Use str_plural() in rd_load_image()

   - Replace strcpy() with strscpy() in find_link()

   - Rename generic_delete_inode() to inode_just_drop() and
     generic_drop_inode() to inode_generic_drop()

   - Remove unused arguments from fcntl_{g,s}et_rw_hint()

  Fixes:

   - Document @name parameter for name_contains_dotdot() helper

   - Fix spelling mistake

   - Always return zero from replace_fd() instead of the file descriptor
     number

   - Limit the size for copy_file_range() in compat mode to prevent a
     signed overflow

   - Fix debugfs mount options not being applied

   - Verify the inode mode when loading it from disk in minixfs

   - Verify the inode mode when loading it from disk in cramfs

   - Don't trigger automounts with RESOLVE_NO_XDEV

     If openat2() was called with RESOLVE_NO_XDEV it didn't traverse
     through automounts, but could still trigger them

   - Add FL_RECLAIM flag to show_fl_flags() macro so it appears in
     tracepoints

   - Fix unused variable warning in rd_load_image() on s390

   - Make INITRAMFS_PRESERVE_MTIME depend on BLK_DEV_INITRD

   - Use ns_capable_noaudit() when determining net sysctl permissions

   - Don't call path_put() under namespace semaphore in listmount() and
     statmount()"

* tag 'vfs-6.18-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (38 commits)
  fcntl: trim arguments
  listmount: don't call path_put() under namespace semaphore
  statmount: don't call path_put() under namespace semaphore
  pid: use ns_capable_noaudit() when determining net sysctl permissions
  fs: rename generic_delete_inode() and generic_drop_inode()
  init: INITRAMFS_PRESERVE_MTIME should depend on BLK_DEV_INITRD
  initramfs: Replace strcpy() with strscpy() in find_link()
  initrd: Use str_plural() in rd_load_image()
  initramfs: Use struct_size() helper to improve dir_add()
  initrd: Fix unused variable warning in rd_load_image() on s390
  fs: use the switch statement in init_special_inode()
  fs/proc/namespaces: make ns_entries const
  filelock: add FL_RECLAIM to show_fl_flags() macro
  eventpoll: Replace rwlock with spinlock
  selftests/proc: add tests for new pidns APIs
  procfs: add "pidns" mount option
  pidns: move is-ancestor logic to helper
  openat2: don't trigger automounts with RESOLVE_NO_XDEV
  namei: move cross-device check to __traverse_mounts
  namei: remove LOOKUP_NO_XDEV check from handle_mounts
  ...
2025-09-29 09:03:07 -07:00
..
accel accel/ivpu: Prevent recovery work from being queued during device removal 2025-09-01 12:37:21 +02:00
accessibility
acpi Several RISC-V fixes for v6.17-rc5: 2025-09-07 08:15:56 -07:00
amba PM: domains: Add flags to specify power on attach/detach 2025-07-07 20:41:20 +02:00
android Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
ata ata: ahci_xgene: Use int type for 'rc' to store error codes 2025-08-28 13:36:14 +09:00
atm atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). 2025-08-22 17:23:15 -07:00
auxdisplay
base Mitigate VMSCAPE issue with indirect branch predictor flushes 2025-09-10 20:52:16 -07:00
bcma treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
block block-6.17-20250918 2025-09-19 12:26:20 -07:00
bluetooth Bluetooth: Fix build after header cleanup 2025-09-20 10:57:44 -04:00
bus soc: driver updates for 6.17 2025-07-29 11:13:27 -07:00
cache
cdrom cdrom: Call cdrom_mrw_exit from cdrom_release function 2025-07-22 19:10:17 -06:00
cdx cdx: Fix off-by-one error in cdx_rpmsg_probe() 2025-08-19 12:55:16 +02:00
char Some small fixes for the IPMI driver 2025-08-07 07:38:25 +03:00
clk Allwinner Clock Fixes for 6.17 2025-09-19 21:28:01 -07:00
clocksource A treewide cleanup of struct cycle_counter const annotations: 2025-07-29 14:02:53 -07:00
comedi comedi: Make insn_rw_emulate_bits() do insn->n samples 2025-08-19 12:57:01 +02:00
connector
counter
cpufreq cpufreq: Initialize cpufreq-based invariance before subsys 2025-09-20 13:00:20 +02:00
cpuidle cpuidle: governors: menu: Avoid selecting states with too much latency 2025-08-18 19:04:25 +02:00
crypto crypto: ccp - Always pass in an error pointer to __sev_platform_shutdown_locked() 2025-09-13 12:07:44 +08:00
cxl Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
dax fs: rename generic_delete_inode() and generic_drop_inode() 2025-09-15 16:09:42 +02:00
dca
devfreq PM / devfreq: Add HiSilicon uncore frequency scaling driver 2025-07-14 20:23:57 +09:00
dio
dma dmaengine: dw: dmamux: Fix device reference leak in rzn1_dmamux_route_allocate 2025-09-02 15:01:51 +05:30
dma-buf drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
dpll dpll: fix clock quality level reporting 2025-09-14 13:03:40 -07:00
edac EDAC/altera: Delete an inappropriate dma_free_coherent() call 2025-08-25 13:56:16 +02:00
eisa
extcon
firewire firewire: core: fix overlooked update of subsystem ABI version 2025-09-20 12:17:50 +09:00
firmware soc: fixes for 6.17, part 3 2025-09-24 14:37:44 -07:00
fpga fpga: zynq_fpga: Fix the wrong usage of dma_map_sgtable() 2025-08-19 12:54:45 +02:00
fsi Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
fwctl
gnss
gpio gpio: regmap: fix memory leak of gpio_regmap structure 2025-09-22 16:35:21 +02:00
gpu - Don't expose sysfs attributes not applicable for VFs (Michal) 2025-09-26 14:12:33 +10:00
greybus
hid hid-for-linus-2025092201 2025-09-22 11:01:37 -07:00
hsi
hte
hv ARM: 2025-07-30 17:14:01 -07:00
hwmon hwmon: (ina238) Correctly clamp power limits 2025-09-01 08:03:05 -07:00
hwspinlock
hwtracing mm: remove callers of pfn_t functionality 2025-07-09 22:42:19 -07:00
i2c i2c: rtl9300: Drop unsupported I2C_FUNC_SMBUS_I2C_BLOCK 2025-09-28 00:23:34 +02:00
i3c i3c: add missing include to internal header 2025-07-31 02:25:17 +02:00
idle intel_idle: Allow loading ACPI tables for any family 2025-08-11 21:43:26 +02:00
iio iio: pressure: bmp280: Use IS_ERR() in bmp280_common_probe() 2025-08-18 19:22:18 +01:00
infiniband IB/mlx5: Fix obj_type mismatch for SRQ event subscriptions 2025-08-25 15:06:46 -03:00
input Input updates for v6.17-rc5 2025-09-14 08:09:37 -07:00
interconnect Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
iommu iommufd 6.17 second rc pull 2025-09-22 11:16:14 -07:00
ipack
irqchip irqchip/gic-v5: Remove undue WARN_ON()s in the IRS affinity parsing 2025-08-24 12:54:06 +02:00
isdn mISDN: Fix memory leak in dsp_hwec_enable() 2025-08-29 19:19:39 -07:00
leds treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
macintosh
mailbox mailbox/pcc: support mailbox management of the shared buffer 2025-08-07 23:49:56 -05:00
mcb mcb: use sysfs_emit_at() instead of scnprintf() in show functions 2025-07-16 14:17:07 +02:00
md block-6.17-20250918 2025-09-19 12:26:20 -07:00
media media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
memory Memory controller drivers for v6.17 2025-07-22 22:47:00 +02:00
memstick memstick: Fix deadlock by moving removing flag earlier 2025-08-18 12:01:20 +02:00
message
mfd treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
misc fs: rename generic_delete_inode() and generic_drop_inode() 2025-09-15 16:09:42 +02:00
mmc mmc: sdhci-pci-gli: GL9767: Fix initializing the UHS-II interface during a power-on 2025-09-12 15:00:52 +02:00
most most: core: Drop device reference after usage in get_channel() 2025-08-19 12:57:34 +02:00
mtd mtd: spinand: winbond: Fix oob_layout for W25N01JW 2025-09-05 17:03:44 +02:00
mux hardening updates for v6.17-rc1 2025-07-28 17:16:12 -07:00
net octeontx2-pf: Fix potential use after free in otx2_tc_add_flow() 2025-09-25 11:04:34 +02:00
nfc
ntb
nubus
nvdimm Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
nvme nvme: fix PI insert on write 2025-09-02 12:21:42 -07:00
nvmem Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
of 17 hotfixes. 13 are cc:stable and the remainder address post-6.16 issues 2025-09-02 13:18:00 -07:00
opp
parisc parisc/power: Move soft-power into power.c 2025-07-23 11:52:48 +02:00
parport
pci pci-v6.17-fixes-3 2025-09-12 10:46:10 -07:00
pcmcia pcmcia: Add error handling for add_interval() in do_validate_mem() 2025-08-16 15:49:58 +02:00
peci
perf drivers/perf: hisi: Support PMUs with no interrupt 2025-07-14 15:42:16 +01:00
phy phy: qcom: qmp-pcie: Fix PHY initialization when powered down by firmware 2025-09-01 22:29:20 +05:30
pinctrl pinctrl: airoha: fix wrong MDIO function bitmaks 2025-09-08 23:01:19 +02:00
platform platform-drivers-x86 for v6.17-5 2025-09-26 10:28:11 -07:00
pmdomain pmdomain: mediatek: set default off flag for MT8195 AUDIO power domain 2025-09-23 16:33:34 +02:00
pnp
power power: supply: bq27xxx: restrict no-battery detection to bq27000 2025-09-06 02:11:38 +02:00
powercap platform-drivers-x86 for v6.17-1 2025-07-28 23:21:28 -07:00
pps
ps3
ptp ptp: ocp: fix use-after-free bugs causing by ptp_ocp_watchdog 2025-08-29 19:10:22 -07:00
pwm treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
rapidio
ras
regulator regulator: sy7636a: fix lifecycle of power good gpio 2025-09-08 16:33:24 +01:00
remoteproc remoteproc updates for v6.17 2025-08-01 15:02:25 -07:00
reset reset: eyeq: fix OF node leak 2025-08-27 16:40:13 +02:00
rpmsg remoteproc updates for v6.17 2025-08-01 15:02:25 -07:00
rtc RTC for 6.17 2025-08-03 20:17:34 -07:00
s390 s390/sclp: Fix SCCB present check 2025-08-20 16:37:27 +02:00
sbus
scsi scsi: sr: Reinstate rotational media flag 2025-08-30 21:46:21 -04:00
sh
siox
slimbus
soc soc: fixes for 6.17, part 2 2025-09-03 14:44:34 -07:00
soundwire soundwire updates for 6.17 2025-08-01 11:09:27 -07:00
spi spi: omap2-mcspi: drive SPI_CLK on transfer_setup() 2025-09-22 09:28:50 +01:00
spmi
ssb treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
staging treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
target SCSI misc on 20250806 2025-08-06 15:44:25 +03:00
tc
tee OP-TEE driver fix for v6.17 2025-09-01 10:35:03 +02:00
thermal Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
thunderbolt thunderbolt: Fix copy+paste error in match_service_id() 2025-07-21 16:33:43 +02:00
tty TTY/Serial fixes for 6.17-rc6 2025-09-14 10:54:54 -07:00
ufs scsi: ufs: mcq: Fix memory allocation checks for SQE and CQE 2025-09-09 22:38:38 -04:00
uio
usb vfs-6.18-rc1.misc 2025-09-29 09:03:07 -07:00
vdpa vdpa: Fix IDR memory leak in VDUSE module exit 2025-08-01 09:11:08 -04:00
vfio VFIO updates for v6.17-rc1 v2 2025-08-07 07:32:50 +03:00
vhost vhost-net: flush batched before enabling notifications 2025-09-19 04:15:26 -04:00
video fbcon: Fix OOB access in font allocation 2025-09-23 11:36:14 +02:00
virt virt: sev-guest: Satisfy linear mapping requirement in get_derived_key() 2025-08-15 17:05:39 +02:00
virtio virtio_input: Improve freeze handling 2025-08-26 03:38:19 -04:00
w1
watchdog watchdog: sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition 2025-07-28 12:07:08 +02:00
xen drivers/xen/xenbus: remove quirk for Xen 3.x 2025-08-20 15:47:43 +02:00
zorro
Kconfig drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
Makefile