linux/drivers
Linus Torvalds 9368f0f941 vfs-6.19-rc1.inode
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaSmOZAAKCRCRxhvAZXjc
 omMSAP9GLhavxyWQ24Q+49CNWWRQWDY1wTOiUK2BwtIvZ0YEcAD8D1dAiMckL5pC
 RwEAVA5p+y+qi+bZP0KXCBxQddoTIQM=
 =zo/J
 -----END PGP SIGNATURE-----

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

Pull vfs inode updates from Christian Brauner:
 "Features:

   - Hide inode->i_state behind accessors. Open-coded accesses prevent
     asserting they are done correctly. One obvious aspect is locking,
     but significantly more can be checked. For example it can be
     detected when the code is clearing flags which are already missing,
     or is setting flags when it is illegal (e.g., I_FREEING when
     ->i_count > 0)

   - Provide accessors for ->i_state, converts all filesystems using
     coccinelle and manual conversions (btrfs, ceph, smb, f2fs, gfs2,
     overlayfs, nilfs2, xfs), and makes plain ->i_state access fail to
     compile

   - Rework I_NEW handling to operate without fences, simplifying the
     code after the accessor infrastructure is in place

  Cleanups:

   - Move wait_on_inode() from writeback.h to fs.h

   - Spell out fenced ->i_state accesses with explicit smp_wmb/smp_rmb
     for clarity

   - Cosmetic fixes to LRU handling

   - Push list presence check into inode_io_list_del()

   - Touch up predicts in __d_lookup_rcu()

   - ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage

   - Assert on ->i_count in iput_final()

   - Assert ->i_lock held in __iget()

  Fixes:

   - Add missing fences to I_NEW handling"

* tag 'vfs-6.19-rc1.inode' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (22 commits)
  dcache: touch up predicts in __d_lookup_rcu()
  fs: push list presence check into inode_io_list_del()
  fs: cosmetic fixes to lru handling
  fs: rework I_NEW handling to operate without fences
  fs: make plain ->i_state access fail to compile
  xfs: use the new ->i_state accessors
  nilfs2: use the new ->i_state accessors
  overlayfs: use the new ->i_state accessors
  gfs2: use the new ->i_state accessors
  f2fs: use the new ->i_state accessors
  smb: use the new ->i_state accessors
  ceph: use the new ->i_state accessors
  btrfs: use the new ->i_state accessors
  Manual conversion to use ->i_state accessors of all places not covered by coccinelle
  Coccinelle-based conversion to use ->i_state accessors
  fs: provide accessors for ->i_state
  fs: spell out fenced ->i_state accesses with explicit smp_wmb/smp_rmb
  fs: move wait_on_inode() from writeback.h to fs.h
  fs: add missing fences to I_NEW handling
  ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage
  ...
2025-12-01 09:02:34 -08:00
..
accel accel/qaic: Synchronize access to DBC request queue head & tail pointer 2025-10-14 08:56:31 -06:00
accessibility
acpi One more urgent ACPI support fix for 6.18 2025-11-27 17:25:46 -08:00
amba
android binder: remove "invalid inc weak" check 2025-10-22 08:04:15 +02:00
ata ata: libata-core: Set capacity to zero for a security locked drive 2025-11-20 13:37:18 +01:00
atm atm/fore200e: Fix possible data race in fore200e_open() 2025-11-25 12:39:26 +01:00
auxdisplay
base PM: sleep: core: Fix runtime PM enabling in device_resume_early() 2025-11-18 15:47:55 +01:00
bcma bcma: don't register devices disabled in OF 2025-10-20 13:54:15 +02:00
block block-6.18-20251031 2025-10-31 12:57:19 -07:00
bluetooth Bluetooth: btusb: mediatek: Avoid btusb_mtk_claim_iso_intf() NULL deref 2025-11-20 17:01:44 -05:00
bus Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
cache cache: sifive_ccache: Optimize cache flushes 2025-09-11 19:13:21 +01:00
cdrom
cdx Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
char tpm_crb: Add idle support for the Arm FF-A start method 2025-10-18 14:33:22 +03:00
clk clk: sunxi-ng: sun55i-a523-ccu: Lower audio0 pll minimum rate 2025-10-23 02:06:47 +08:00
clocksource hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
comedi comedi: fix divide-by-zero in comedi_buf_munge() 2025-10-22 08:03:52 +02:00
connector
counter counter: microchip-tcb-capture: Allow shared IRQ for multi-channel TCBs 2025-10-13 14:56:30 +09:00
cpufreq cpufreq: intel_pstate: Check IDA only before MSR_IA32_PERF_CTL writes 2025-11-12 17:59:37 +01:00
cpuidle RISC-V updates for v6.18-rc5 2025-11-06 15:44:18 -08:00
crypto crypto: hisilicon/qm - Fix device reference leak in qm_get_qos_value 2025-11-06 14:29:49 +08:00
cxl cxl: Adjust offset calculation for poison injection 2025-11-07 09:22:10 -07:00
dax Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
dca
devfreq PM / devfreq: rockchip-dfi: switch to FIELD_PREP_WM16 macro 2025-10-15 10:39:54 -04:00
dibs dibs: Check correct variable in dibs_init() 2025-09-26 15:10:59 -07:00
dio
dma dmaengine updates for v6.18 2025-10-06 10:37:06 -07:00
dma-buf dma-fence: Fix safe access wrapper to call timeline name method 2025-10-24 16:56:37 +01:00
dpll dpll: zl3073x: Fix output pin registration 2025-10-28 18:54:48 -07:00
edac EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection 2025-11-11 14:59:04 +01:00
eisa
extcon
firewire firewire: core: fix to update generation field in topology map 2025-11-16 21:30:26 +09:00
firmware vfs-6.19-rc1.misc 2025-12-01 08:44:26 -08:00
fpga
fsi
fwctl pds_fwctl: Replace kzalloc + copy_from_user with memdup_user in pdsfc_fw_rpc 2025-09-22 10:33:10 -03:00
gnss
gpio gpio: cdev: make sure the cdev fd is still active before emitting events 2025-11-19 12:00:28 +01:00
gpu Driver Changes: 2025-11-28 12:10:25 +10:00
greybus
hid Input updates for v6.18-rc6 2025-11-22 09:58:41 -08:00
hsi
hte
hv Drivers: hv: Make CONFIG_HYPERV bool 2025-10-01 00:00:45 +00:00
hwmon hwmon: (gpd-fan) initialize EC on driver load for Win 4 2025-11-12 11:54:37 -08:00
hwspinlock
hwtracing Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
i2c i2c: muxes: pca954x: Fix broken reset-gpio usage 2025-11-03 18:04:15 +01:00
i3c i3c: fix big-endian FIFO transfers 2025-09-29 00:17:22 +02:00
idle
iio iio: accel: bmc150: Fix irq assumption regression 2025-11-11 20:22:23 +00:00
infiniband mlx5: Fix default values in create CQ 2025-11-11 15:12:18 +01:00
input Linux 6.18-rc6 2025-11-17 23:16:55 -08:00
interconnect Merge branch 'icc-glymur' into icc-next 2025-09-12 13:54:17 +03:00
iommu dma-mapping fixes for Linux 6.18 2025-11-27 17:29:15 -08:00
ipack
irqchip irqchip/riscv-intc: Add missing free() callback in riscv_intc_domain_ops 2025-11-14 16:52:34 +01:00
isdn isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe() 2025-10-31 17:39:14 -07:00
leds leds: led-class: Add Device Tree support to led_get() 2025-09-16 16:49:28 +01:00
macintosh
mailbox mailbox: th1520: fix clock imbalance on probe failure 2025-11-28 09:47:44 -06:00
mcb
md dm-verity: fix unreliable memory allocation 2025-11-21 12:51:41 +01:00
media media: videobuf2: forbid remove_bufs when legacy fileio is active 2025-10-24 11:16:26 +02:00
memory memory: tegra210: Fix incorrect client ids 2025-10-23 15:32:21 +02:00
memstick Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
message
mfd mfd: ls2kbmc: check for devm_mfd_add_devices() failure 2025-10-03 10:38:23 -05:00
misc mei: fix error flow in probe 2025-11-03 10:02:04 +09:00
mmc mmc: sdhci-of-dwcmshc: Promote the th1520 reset handling to ip level 2025-11-25 13:44:51 +01:00
most most: usb: fix double free on late probe failure 2025-11-09 11:15:20 +09:00
mtd mtd: onenand: Pass correct pointer to IRQ handler 2025-11-03 11:37:57 +01:00
mux
net net: fec: do not register PPS event for PEROUT 2025-11-27 11:57:45 +01:00
nfc
ntb NTB: epf: Add Renesas rcar support 2025-09-22 09:35:21 -04:00
nubus
nvdimm libnvdimm for 6.18 2025-10-06 11:17:18 -07:00
nvme nvme: nvme-fc: Ensure ->ioerr_work is cancelled in nvme_fc_delete_ctrl() 2025-11-17 09:00:42 -08:00
nvmem nvmem: layouts: fix nvmem_layout_bus_uevent 2025-11-24 18:08:10 +01:00
of of/irq: Export of_msi_xlate() for module usage 2025-10-24 07:44:09 -05:00
opp
parisc
parport
pci pci-v6.18-fixes-5 2025-11-14 15:45:31 -08:00
pcmcia
peci
perf tools: riscv: Fixed misalignment of CSR related definitions 2025-11-16 10:37:38 -07:00
phy phy-for-6.18 2025-10-06 10:34:22 -07:00
pinctrl pinctrl: s32cc: initialize gpio_pin_config::list after kmalloc() 2025-11-18 23:56:11 +01:00
platform platform-drivers-x86 for v6.18-5 2025-11-27 08:51:36 -08:00
pmdomain pmdomain: tegra: Add GENPD_FLAG_NO_STAY_ON flag 2025-11-24 11:14:01 +01:00
pnp
power Fix Intel Dollar Cove TI battery driver 32-bit build error 2025-11-26 12:31:48 -08:00
powercap
pps
ps3
ptp ptp: Allow exposing cycles only for clocks with free-running counter 2025-10-31 16:27:40 -07:00
pwm pwm: adp5585: Correct mismatched pwm chip info 2025-11-14 11:55:56 +01:00
rapidio
ras RAS: Export log_non_standard_event() to drivers 2025-09-15 16:20:29 +02:00
regulator regulator: rtq2208: Correct LDO2 logic judgment bits 2025-11-27 11:41:00 +00:00
remoteproc remoteproc updates for v6.18 2025-10-04 15:45:17 -07:00
reset reset: imx8mp-audiomix: Fix bad mask values 2025-11-05 16:12:28 +01:00
rpmsg rpmsg: qcom_smd: Fix fallback to qcom,ipc parse 2025-09-20 21:29:48 -05:00
rtc rtc: rx8025: fix incorrect register reference 2025-11-08 20:56:12 +01:00
s390 s390/ctcm: Fix double-kfree 2025-11-17 16:58:25 -08:00
sbus
scsi scsi: sg: Do not sleep in atomic context 2025-11-19 22:46:36 -05:00
sh
siox
slimbus slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves 2025-11-09 11:14:59 +09:00
soc net: ethernet: ti: netcp: Standardize knav_dma_open_channel to return NULL on error 2025-11-04 19:15:36 -08:00
soundwire soundwire updates for 6.18 2025-10-06 10:32:22 -07:00
spi spi: nxp-fspi: Propagate fwnode in ACPI case as well 2025-11-27 11:41:06 +00:00
spmi
ssb
staging staging: gpib: Fix device reference leak in fmh_gpib driver 2025-10-13 10:55:03 +02:00
target scsi: target: tcm_loop: Fix segfault in tcm_loop_tpg_address_show() 2025-11-08 12:30:02 -05:00
tc
tee QCOMTEE fixes2 for v6.18 2025-11-21 21:27:20 +01:00
thermal thermal: renesas: Fix RZ/G3E fall-out 2025-10-02 10:41:58 +02:00
thunderbolt thunderbolt: Add support for Intel Wildcat Lake 2025-10-20 08:20:34 +02:00
tty serial: 8250: Fix 8250_rsa symbol loop 2025-11-26 13:16:53 +01:00
ufs scsi: ufs: core: Fix invalid probe error return value 2025-10-29 23:20:19 -04:00
uio hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
usb usb: gadget: renesas_usbf: Handle devm_pm_runtime_enable() errors 2025-11-24 18:00:45 +01:00
vdpa mlx5: Fix default values in create CQ 2025-11-11 15:12:18 +01:00
vfio vfio/type1: handle DMA map/unmap up to the addressable limit 2025-10-28 15:54:41 -06:00
vhost vhost: rewind next_avail_head while discarding descriptors 2025-11-26 14:44:58 -08:00
video drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup 2025-11-25 09:08:32 +01:00
virt arm64 updates for 6.18 2025-09-29 18:48:39 -07:00
virtio virtio,vhost: fixes, cleanups 2025-10-04 08:48:16 -07:00
w1
watchdog linux-watchdog 6.18-rc1 tag 2025-10-06 11:00:30 -07:00
xen dma-mapping updates for Linux 6.18: 2025-10-03 17:41:12 -07:00
zorro zorro: Remove extra whitespace in macro definitions 2025-09-15 14:30:17 +02:00
Kconfig
Makefile hyperv-next for v6.18 2025-10-07 08:40:15 -07:00