linux/drivers
Linus Torvalds 794cbac9c0 mount changes. I've got more stuff in the local tree, but
this is getting too much for one merge window as it is.
 
 * mount hash conflicts rudiments are gone now - we do not allow
 	multiple mounts with the same parent/mountpoint to be
 	hashed at the same time.
 * struct mount changes
 	mnt_umounting is gone;
 	mnt_slave_list/mnt_slave is an hlist now;
 	overmounts are kept track of by explicit pointer in mount;
 	a bunch of flags moved out of mnt_flags to a new field,
 	with only namespace_sem for protection;
 	mnt_expiry is protected by mount_lock now (instead of
 	namespace_sem);
 	MNT_LOCKED is used only for mounts that need to remain
 	attached to their parents to prevent mountpoint exposure -
 	no more overloading it for absolute roots;
 	all mnt_list uses are transient now - it's used only to
 	represent temporary sets during umount_tree().
 * mount refcounting change
 	children no longer pin parents for any mounts, whether they'd
 	passed through umount_tree() or not.
 * struct mountpoint changes
 	refcount is no more; what matters is ->m_list emptiness;
 	instead of temporary bumping the refcount, we insert a new object
 	(pinned_mountpoint) into ->m_list;
 	new calling conventions for lock_mount() and friends.
 * do_move_mount()/attach_recursive_mnt() seriously cleaned up.
 * globals in fs/pnode.c are gone.
 * propagate_mnt(), change_mnt_propagation() and propagate_umount() cleaned up
 	(in the last case - pretty much completely rewritten).
 * freeing of emptied mnt_namespace is done in namespace_unlock()
 	for one thing, there are subtle ordering requirements there;
 	for another it simplifies cleanups.
 * assorted cleanups.
 * restore the machinery for long-term mounts from accumulated bitrot.
 	This is going to get a followup come next cycle, when #work.fs_context
 	with its change of vfs_fs_parse_string() calling conventions goes
 	into -next.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCaIR2dQAKCRBZ7Krx/gZQ
 6/SzAP4x+Fjjc5Tm2UNgGW5dptDY5s9O5RuFauo1MM6rcrekagEApTarcMlPnZvC
 mj1TVJFNfdVhZyTXnz5ocHhGX1udmgU=
 =qT69
 -----END PGP SIGNATURE-----

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

Pull vfs mount updates from Al Viro:

 - mount hash conflicts rudiments are gone now - we do not allow
     multiple mounts with the same parent/mountpoint to be hashed at the
     same time.

 - 'struct mount' changes:
      - mnt_umounting is gone
      - mnt_slave_list/mnt_slave is an hlist now
      - overmounts are kept track of by explicit pointer in mount
      - a bunch of flags moved out of mnt_flags to a new field, with
        only namespace_sem for protection
      - mnt_expiry is protected by mount_lock now (instead of
        namespace_sem)
      - MNT_LOCKED is used only for mounts that need to remain attached
        to their parents to prevent mountpoint exposure - no more
        overloading it for absolute roots
      - all mnt_list uses are transient now - it's used only to
        represent temporary sets during umount_tree()

 - mount refcounting change: children no longer pin parents for any
   mounts, whether they'd passed through umount_tree() or not

 - 'struct mountpoint' changes:
      - refcount is no more; what matters is ->m_list emptiness
      - instead of temporary bumping the refcount, we insert a new
        object (pinned_mountpoint) into ->m_list
      - new calling conventions for lock_mount() and friends

 - do_move_mount()/attach_recursive_mnt() seriously cleaned up

 - globals in fs/pnode.c are gone

 - propagate_mnt(), change_mnt_propagation() and propagate_umount()
   cleaned up (in the last case - pretty much completely rewritten).

 - freeing of emptied mnt_namespace is done in namespace_unlock(). For
   one thing, there are subtle ordering requirements there; for another
   it simplifies cleanups.

 - assorted cleanups

 - restore the machinery for long-term mounts from accumulated bitrot.

   This is going to get a followup come next cycle, when the change of
   vfs_fs_parse_string() calling conventions goes into -next

* tag 'pull-mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (48 commits)
  statmount_mnt_basic(): simplify the logics for group id
  invent_group_ids(): zero ->mnt_group_id always implies !IS_MNT_SHARED()
  get rid of CL_SHARE_TO_SLAVE
  take freeing of emptied mnt_namespace to namespace_unlock()
  copy_tree(): don't link the mounts via mnt_list
  change_mnt_propagation(): move ->mnt_master assignment into MS_SLAVE case
  mnt_slave_list/mnt_slave: turn into hlist_head/hlist_node
  turn do_make_slave() into transfer_propagation()
  do_make_slave(): choose new master sanely
  change_mnt_propagation(): do_make_slave() is a no-op unless IS_MNT_SHARED()
  change_mnt_propagation() cleanups, step 1
  propagate_mnt(): fix comment and convert to kernel-doc, while we are at it
  propagate_mnt(): get rid of last_dest
  fs/pnode.c: get rid of globals
  propagate_one(): fold into the sole caller
  propagate_one(): separate the "what should be the master for this copy" part
  propagate_one(): separate the "do we need secondary here?" logics
  propagate_mnt(): handle all peer groups in the same loop
  propagate_one(): get rid of dest_master
  mount: separate the flags accessed only under namespace_sem
  ...
2025-07-28 10:49:38 -07:00
..
accel accel/amdxdna: Fix incorrect PSP firmware size 2025-06-09 07:16:32 -07:00
accessibility
acpi ACPI: RISC-V: Remove unnecessary CPPC debug message 2025-07-16 08:21:06 -07:00
amba
android VFS-related cleanups in various places (mostly of the "that really can't 2025-07-28 10:32:20 -07:00
ata ata: ahci: Use correct DMI identifier for ASUSPRO-D840SA LPM quirk 2025-06-25 15:17:57 +02:00
atm atm: idt77252: Add missing dma_map_error() 2025-06-25 15:28:57 -07:00
auxdisplay treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
base regmap: Fix for v6.16 2025-07-20 08:56:40 -07:00
bcma
block block-6.16-20250718 2025-07-18 12:16:13 -07:00
bluetooth Bluetooth: btusb: QCA: Fix downloading wrong NVM for WCN6855 GF variant without board ID 2025-07-16 15:38:15 -04:00
bus bus: fsl-mc: Fix potential double device reference in fsl_mc_get_endpoint() 2025-07-18 17:13:50 -07:00
cache
cdrom cdrom: Remove unnecessary NULL check before unregister_sysctl_table() 2025-05-15 16:25:20 -06:00
cdx
char securityfs cleanups and fixes: 2025-07-28 10:07:54 -07:00
clk Allwinner clock fixes for 6.16 2025-07-21 10:17:51 -07:00
clocksource clocksource: hyper-v: Fix warnings for missing export.h header inclusion 2025-07-09 23:46:06 +00:00
comedi comedi: comedi_test: Fix possible deletion of uninitialized timers 2025-07-16 15:02:44 +02:00
connector
counter Second set of Counter updates for 6.16 2025-05-24 08:29:32 +02:00
cpufreq rust: Use CpuId in place of raw CPU numbers 2025-06-12 10:31:28 +05:30
cpuidle cpuidle: psci: Fix cpuhotplug routine with PREEMPT_RT=y 2025-07-14 13:09:04 +02:00
crypto crypto: qat - Use crypto_shash_export_core 2025-06-26 12:55:22 +08:00
cxl cxl/edac: Fix using wrong repair type to check dram event record 2025-06-25 12:05:45 -07:00
dax
dca
devfreq
dio
dma dma: dw-edma: Fix build warning in dw_edma_pcie_probe() 2025-07-15 20:41:49 +05:30
dma-buf dma-buf: fix timeout handling in dma_resv_wait_timeout v2 2025-06-30 13:15:44 +02:00
dpll
edac EDAC: Initialize EDAC features sysfs attributes 2025-06-30 10:57:24 +02:00
eisa
extcon
firewire treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
firmware EFI fixes for v6.16 #1 2025-07-07 18:22:25 -07:00
fpga FPGA Manager changes for 6.16-rc1 2025-05-21 14:08:44 +02:00
fsi
fwctl
gnss
gpio gpiolib: devres: release GPIOs in devm_gpiod_put_array() 2025-07-17 09:22:46 +02:00
gpu mount changes. I've got more stuff in the local tree, but 2025-07-28 10:49:38 -07:00
greybus treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hid hid-for-linus-2025071501 2025-07-15 09:20:44 -07:00
hsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hte
hv A missing bit of 66635b0776 ("assorted variants of irqfd setup: 2025-07-28 10:43:46 -07:00
hwmon hwmon: (pmbus/ucd9000) Fix error in ucd9000_gpio_set 2025-07-18 09:50:55 -07:00
hwspinlock
hwtracing coresight: updates for Linux v6.16 2025-05-22 18:04:43 +02:00
i2c i2c: qup: jump out of the loop in case of timeout 2025-07-24 00:38:01 +02:00
i3c i3c: controllers do not need to depend on I3C 2025-05-24 22:49:07 +02:00
idle intel_idle: Update arguments of mwait_idle_with_hints() 2025-06-10 21:09:28 +02:00
iio iio: dac: ad3530r: Fix incorrect masking for channels 4-7 in powerdown mode 2025-06-29 17:15:40 +01:00
infiniband SCSI fixes on 20250703 2025-07-03 11:52:39 -07:00
input Input updates for v6.16-rc6 2025-07-20 08:53:58 -07:00
interconnect interconnect: avoid memory allocation when 'icc_bw_lock' is held 2025-06-27 21:43:40 +03:00
iommu x86/hyperv: Clean up hv_map/unmap_interrupt() return values 2025-07-09 23:49:25 +00:00
ipack
irqchip irqchip/irq-msi-lib: Select CONFIG_GENERIC_MSI_IRQ 2025-06-30 16:59:12 +02:00
isdn treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
leds treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
macintosh
mailbox treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mcb
md - dm-bufio: fix scheduling in atomic 2025-07-14 19:25:28 -07:00
media treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memory treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memstick memstick: core: Zero initialize id_reg in h_memstick_read_dev_id() 2025-07-16 12:01:09 +02:00
message
mfd mfd: Fix building without CONFIG_OF 2025-06-19 11:05:30 +01:00
misc misc: amd-sbi: Explicitly clear in/out arg "mb_in_out" 2025-07-16 15:02:45 +02:00
mmc mmc: bcm2835: Fix dma_unmap_sg() nents value 2025-07-03 14:16:16 +02:00
most treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mtd mtd: nand: qpic_common: prevent out of bounds access of BAM arrays 2025-06-29 22:10:47 +01:00
mux mux: mmio: Fix missing CONFIG_REGMAP_MMIO 2025-07-04 16:27:08 +02:00
net Including fixes from can and xfrm. 2025-07-24 08:44:42 -07:00
nfc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ntb
nubus
nvdimm
nvme block-6.16-20250718 2025-07-18 12:16:13 -07:00
nvmem nvmem: layouts: u-boot-env: remove crc32 endianness conversion 2025-07-16 16:51:04 +02:00
of - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
opp OPP: switch to use kmemdup_array() 2025-05-19 15:37:53 +05:30
parisc
parport treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pci pci-v6.16-fixes-4 2025-07-24 15:33:00 -07:00
pcmcia treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
peci
perf arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
phy phy: qcom: fix error code in snps_eusb2_hsphy_probe() 2025-07-15 20:36:47 +05:30
pinctrl pinctrl: aw9523: fix can_sleep flag for GPIO chip 2025-07-04 10:31:50 +02:00
platform platform-drivers-x86 for v6.16-4 2025-07-21 08:32:36 -07:00
pmdomain pmdomain: governor: Consider CPU latency tolerance from pm_domain_cpu_gov 2025-07-09 12:20:12 +02:00
pnp
power power: supply: test-power: Test access to extended power supply 2025-07-07 15:19:49 +03:00
powercap powercap: intel_rapl: Do not change CLAMPING bit if ENABLE bit cannot be changed 2025-06-30 20:32:29 +02:00
pps treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ps3
ptp ptp: allow reading of currently dialed frequency to succeed on free-running clocks 2025-06-17 16:13:09 -07:00
pwm pwm: mediatek: Ensure to disable clocks in error path 2025-07-07 08:34:44 +02:00
rapidio drivers/rapidio/rio_cm.c: prevent possible heap overwrite 2025-06-11 22:42:36 -07:00
ras
regulator regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods 2025-07-03 12:22:35 +01:00
remoteproc remoteproc updates for v6.16 2025-06-02 11:04:29 -07:00
reset
rpmsg rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send() 2025-05-20 21:46:10 -05:00
rtc rtc: pcf2127: add missing semicolon after statement 2025-06-24 16:06:14 +02:00
s390 s390/ism: fix concurrency management in ism_cmd() 2025-07-24 10:57:26 +02:00
sbus
scsi scsi: core: Enforce unlimited max_segment_size when virt_boundary_mask is set 2025-06-24 21:20:58 -04:00
sh sh: Switch to irq_domain_create_*() 2025-05-16 21:06:11 +02:00
siox
slimbus
soc soc: aspeed: lpc-snoop: Don't disable channels that aren't enabled 2025-07-02 11:05:20 +09:30
soundwire soundwire: Revert "soundwire: qcom: Add set_channel_map api support" 2025-07-15 18:16:27 +05:30
spi spi: spi-qpic-snand: don't hardcode ECC steps 2025-07-23 13:04:03 +01:00
spmi irqdomain: spmi: Switch to irq_domain_create_tree() 2025-05-21 14:53:17 +02:00
ssb
staging VFS-related cleanups in various places (mostly of the "that really can't 2025-07-28 10:32:20 -07:00
target scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() 2025-06-16 14:35:57 -04:00
tc
tee A fix in the OP-TEE driver for v6.16 2025-07-03 16:26:08 +02:00
thermal Thermal control updates for 6.16-rc1 2025-05-27 16:28:02 -07:00
thunderbolt thunderbolt: Fix bit masking in tb_dp_port_set_hops() 2025-06-23 12:52:08 +03:00
tty pch_uart: Fix dma_sync_sg_for_device() nents value 2025-07-09 13:43:02 +02:00
ufs scsi: ufs: core: Fix spelling of a sysfs attribute name 2025-06-24 21:22:20 -04:00
uio Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
usb Removing subtrees of kernel filesystems is done in quite a few 2025-07-28 09:43:51 -07:00
vdpa vdpa/octeon_ep: Control PCI dev enabling manually 2025-05-27 10:27:53 -04:00
vfio pci-v6.16-changes 2025-06-04 11:26:17 -07:00
vhost virtio, vhost: features, fixes 2025-05-29 08:15:35 -07:00
video treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
virt efi_secret: clean securityfs use up 2025-06-11 18:20:19 -04:00
virtio virtio_ring: Fix error reporting in virtqueue_resize 2025-07-03 11:40:02 +02:00
w1 Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
watchdog treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
xen xen/x86: fix initial memory balloon target 2025-05-23 07:09:00 +02:00
zorro
Kconfig
Makefile