linux-stable/drivers
Linus Torvalds 3f6984e730 vfs-6.8.super
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCZZUx4wAKCRCRxhvAZXjc
 osaNAQC/c+xXVfiq/pFbuK9MQLna4RGZaGcG9k312YniXbHq0AD9HAf4aPcZwPy1
 /wkD4pauj3UZ3f0xBSyazGBvAXyN0Qc=
 =iFAQ
 -----END PGP SIGNATURE-----

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

Pull vfs super updates from Christian Brauner:
 "This contains the super work for this cycle including the long-awaited
  series by Jan to make it possible to prevent writing to mounted block
  devices:

   - Writing to mounted devices is dangerous and can lead to filesystem
     corruption as well as crashes. Furthermore syzbot comes with more
     and more involved examples how to corrupt block device under a
     mounted filesystem leading to kernel crashes and reports we can do
     nothing about. Add tracking of writers to each block device and a
     kernel cmdline argument which controls whether other writeable
     opens to block devices open with BLK_OPEN_RESTRICT_WRITES flag are
     allowed.

     Note that this effectively only prevents modification of the
     particular block device's page cache by other writers. The actual
     device content can still be modified by other means - e.g. by
     issuing direct scsi commands, by doing writes through devices lower
     in the storage stack (e.g. in case loop devices, DM, or MD are
     involved) etc. But blocking direct modifications of the block
     device page cache is enough to give filesystems a chance to perform
     data validation when loading data from the underlying storage and
     thus prevent kernel crashes.

     Syzbot can use this cmdline argument option to avoid uninteresting
     crashes. Also users whose userspace setup does not need writing to
     mounted block devices can set this option for hardening. We expect
     that this will be interesting to quite a few workloads.

     Btrfs is currently opted out of this because they still haven't
     merged patches we require for this to work from three kernel
     releases ago.

   - Reimplement block device freezing and thawing as holder operations
     on the block device.

     This allows us to extend block device freezing to all devices
     associated with a superblock and not just the main device. It also
     allows us to remove get_active_super() and thus another function
     that scans the global list of superblocks.

     Freezing via additional block devices only works if the filesystem
     chooses to use @fs_holder_ops for these additional devices as well.
     That currently only includes ext4 and xfs.

     Earlier releases switched get_tree_bdev() and mount_bdev() to use
     @fs_holder_ops. The remaining nilfs2 open-coded version of
     mount_bdev() has been converted to rely on @fs_holder_ops as well.
     So block device freezing for the main block device will continue to
     work as before.

     There should be no regressions in functionality. The only special
     case is btrfs where block device freezing for the main block device
     never worked because sb->s_bdev isn't set. Block device freezing
     for btrfs can be fixed once they can switch to @fs_holder_ops but
     that can happen whenever they're ready"

* tag 'vfs-6.8.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (27 commits)
  block: Fix a memory leak in bdev_open_by_dev()
  super: don't bother with WARN_ON_ONCE()
  super: massage wait event mechanism
  ext4: Block writes to journal device
  xfs: Block writes to log device
  fs: Block writes to mounted block devices
  btrfs: Do not restrict writes to btrfs devices
  block: Add config option to not allow writing to mounted devices
  block: Remove blkdev_get_by_*() functions
  bcachefs: Convert to bdev_open_by_path()
  fs: handle freezing from multiple devices
  fs: remove dead check
  nilfs2: simplify device handling
  fs: streamline thaw_super_locked
  ext4: simplify device handling
  xfs: simplify device handling
  fs: simplify setup_bdev_super() calls
  blkdev: comment fs_holder_ops
  porting: document block device freeze and thaw changes
  fs: remove unused helper
  ...
2024-01-08 10:43:51 -08:00
..
accel vfs-6.8.misc 2024-01-08 10:26:08 -08:00
accessibility
acpi ACPI: utils: Fix error path in acpi_evaluate_reference() 2023-12-07 21:38:21 +01:00
amba amba: bus: balance firmware node reference counting 2023-10-17 13:37:35 -05:00
android file: s/close_fd_get_file()/file_close_fd()/g 2023-12-12 14:24:13 +01:00
ata SCSI fixes on 20231130 2023-12-02 06:27:20 +09:00
atm atm: solos-pci: Fix potential deadlock on &tx_queue_lock 2023-12-09 21:17:45 +00:00
auxdisplay
base Char/Misc driver fixes for 6.7-rc5 2023-12-09 12:44:10 -08:00
bcma
block virtio_blk: fix snprintf truncation compiler warning 2023-12-04 09:43:53 -05:00
bluetooth Bluetooth: Fix deadlock in vhci_send_frame 2023-12-15 11:29:16 -05:00
bus bus: ti-sysc: Flush posted write only after srst_udelay 2023-11-28 12:57:16 +02:00
cache riscv: RISCV_NONSTANDARD_CACHE_OPS shouldn't depend on RISCV_DMA_NONCOHERENT 2023-10-26 09:42:37 +02:00
cdrom
cdx Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
char Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
clk Fixes for a wrong clockname, a wrong clock-parent, a wrong clock-gate 2023-12-13 15:26:24 -08:00
clocksource RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
comedi
connector connector: Fix proc_event_num_listeners count not cleared 2024-01-02 14:13:48 +00:00
counter
cpufreq cpufreq/amd-pstate: Only print supported EPP values for performance governor 2023-11-29 22:04:15 +01:00
cpuidle
crypto crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
cxl cxl/pmu: Ensure put_device on pmu devices 2023-12-14 21:54:45 -08:00
dax Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
dca
devfreq PM / devfreq: rockchip-dfi: add support for RK3588 2023-10-19 21:21:16 +09:00
dio
dma dmaengine: fsl-edma: fix DMA channel leak in eDMAv4 2023-12-11 20:14:29 +05:30
dma-buf dma-buf: fix check in dma_resv_add_fence 2023-11-27 20:00:47 +01:00
dpll dpll: sanitize possible null pointer dereference in dpll_pin_parent_pin_set() 2023-12-12 16:20:54 -08:00
edac EDAC/versal: Read num_csrows and num_chans using the correct bitfield macro 2023-12-15 13:01:27 +01:00
eisa
extcon extcon: realtek: add the error handler for nvmem_cell_read 2023-10-17 17:38:57 +09:00
firewire firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards 2024-01-05 21:28:08 +09:00
firmware EFI fix for v6.7 #3 2024-01-03 11:50:17 -08:00
fpga eventfd: simplify eventfd_signal() 2023-11-28 14:08:38 +01:00
fsi
gnss
gpio gpio: dwapb: mask/unmask IRQ when disable/enale it 2023-12-21 11:19:01 +01:00
gpu vfs-6.8.misc 2024-01-08 10:26:08 -08:00
greybus Revert "greybus: gb-beagleplay: Ensure le for values in transport" 2023-12-05 09:10:01 +09:00
hid hid-for-linus-2023121901 2023-12-18 16:47:21 -08:00
hsi
hte hte: Changes for v6.7-rc1 2023-10-31 18:32:51 -10:00
hv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
hwmon hwmon: (corsair-psu) Fix probe when built-in 2023-12-08 10:36:02 -08:00
hwspinlock
hwtracing coresight: ultrasoc-smb: Fix uninitialized before use buf_hw_base 2023-11-16 10:00:14 +00:00
i2c i2c: core: Fix atomic xfer check for non-preempt config 2024-01-06 14:10:10 +01:00
i3c I3C for 6.7 2023-11-04 16:25:36 -10:00
idle
iio Revert "iio: hid-sensor-als: Add light color temperature support" 2023-12-19 08:08:20 +01:00
infiniband vfs-6.8.misc 2024-01-08 10:26:08 -08:00
input Input updates for v6.7-rc6 2023-12-23 11:16:58 -08:00
interconnect interconnect: qcom: icc-rpm: Fix peak rate calculation 2023-12-06 17:00:42 +02:00
iommu iommufd 6.7 first rc pull request 2023-12-05 06:54:52 +09:00
ipack
irqchip - Flush the translation service tables to prevent unpredictable behavior 2023-11-19 13:49:32 -08:00
isdn hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
leds leds: trigger: netdev: fix RTNL handling to prevent potential deadlock 2023-12-06 07:36:55 -08:00
macintosh powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
mailbox Moving repo 2023-11-05 18:45:32 -08:00
mcb mcb: fix error handling for different scenarios when parsing 2023-10-21 23:04:02 +02:00
md vfs-6.8.super 2024-01-08 10:43:51 -08:00
media Renesas R-Car VSP1 driver regression fix 2023-11-16 14:28:44 +01:00
memory IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
memstick
message scsi: message: fusion: Initialize return value in mptfc_bus_reset() 2023-10-24 22:36:39 -04:00
mfd - Core Frameworks 2023-11-02 14:40:51 -10:00
misc vfs-6.8.misc 2024-01-08 10:26:08 -08:00
mmc mmc: sdhci-sprd: Fix eMMC init failure after hw reset 2024-01-03 11:24:03 +01:00
most
mtd - removed AR7 platform support 2023-11-10 09:19:46 -08:00
mux
net Including fixes from wireless and netfilter. 2024-01-04 16:34:50 -08:00
nfc nfc: virtual_ncidev: Add variable to check if ndev is running 2023-11-22 10:55:48 +00:00
ntb
nubus
nvdimm libnvdimm: remove kernel-doc warnings: 2023-10-18 09:48:05 -07:00
nvme nvme-pci: fix sleeping function called from interrupt context 2023-12-19 12:41:05 -08:00
nvmem nvmem: brcm_nvram: store a copy of NVRAM content 2023-12-15 13:15:02 +01:00
of Devicetree fixes for v6.7, take 1: 2023-12-07 12:22:36 -08:00
opp OPP: No need to defer probe from _opp_attach_genpd() 2023-10-17 11:11:28 +05:30
parisc parisc/power: Fix power soft-off when running on qemu 2023-11-18 18:59:30 +01:00
parport parport: Add support for Brainboxes IX/UC/PX parallel cards 2023-12-07 11:10:44 +09:00
pci pci-v6.7-fixes-2 2024-01-03 14:18:57 -08:00
pcmcia PCMCIA odd cleanups and fixes for v6.7-rc1 2023-11-07 16:40:42 -08:00
peci
perf perf/arm-cmn: Fail DTC counter allocation correctly 2023-12-12 11:29:21 +00:00
phy phy fixes for 6.7 2023-12-17 09:19:27 -08:00
pinctrl pinctrl: at91-pio4: use dedicated lock class for IRQ 2023-12-21 09:05:02 +01:00
platform Revert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe" 2024-01-04 18:16:51 +02:00
pmdomain Power management fixes for 6.7-rc4 2023-12-02 09:01:00 +09:00
pnp PNP: replace deprecated strncpy() with memcpy() 2023-10-20 19:50:40 +02:00
power USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
powercap powercap: DTPM: Fix missing cpufreq_cpu_put() calls 2023-12-05 20:51:24 +01:00
pps
ps3
ptp ptp: ocp: fix bug in unregistering the DPLL subsystem 2023-12-29 08:37:23 +00:00
pwm pwm: bcm2835: Fix NPD in suspend/resume 2023-11-21 11:09:32 +01:00
rapidio
ras
regulator regulator: Merge up pending fix 2023-10-30 13:14:27 +00:00
remoteproc remoteproc: st: Fix sometimes uninitialized ret in st_rproc_probe() 2023-10-16 11:24:34 -06:00
reset reset: Fix crash when freeing non-existent optional resets 2023-11-30 15:02:21 +01:00
rpmsg rpmsg: virtio: Replace deprecated strncpy with strscpy/_pad 2023-10-23 13:11:07 -06:00
rtc RTC for 6.7 2023-11-05 18:49:40 -08:00
s390 vfs-6.8.misc 2024-01-08 10:26:08 -08:00
sbus
scsi scsi: core: Always send batch on reset or error handling command 2023-12-18 21:09:41 -05:00
sh sh: Remove superhyway bus support 2023-10-25 16:50:11 +02:00
siox
slimbus
soc powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
soundwire soundwire: intel_ace2x: fix AC timing setting for ACE2.x 2023-11-28 15:27:27 +05:30
spi spi: atmel: Fix clock issue when using devices with different polarities 2023-12-14 10:56:37 +00:00
spmi spmi: rename spmi device lookup helper 2023-11-01 10:02:18 +00:00
ssb ssb: relax SSB_EMBEDDED dependencies 2023-10-19 10:26:26 +03:00
staging pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
target SCSI misc on 20231102 2023-11-02 15:13:50 -10:00
tc
tee OP-TEE fix for supplicant based device enumeration 2023-12-06 16:15:26 +01:00
thermal Thermal control updates for 6.7-rc1 2023-10-31 15:28:37 -10:00
thunderbolt thunderbolt: Fix minimum allocated USB 3.x and PCIe bandwidth 2023-12-08 09:03:49 +02:00
tty serial: 8250_dw: Add ACPI ID for Granite Rapids-D UART 2023-12-07 10:48:56 +09:00
ufs scsi: ufs: core: Let the sq_lock protect sq_tail_slot access 2023-12-18 21:09:54 -05:00
uio
usb vfs-6.8.misc 2024-01-08 10:26:08 -08:00
vdpa vfs-6.8.misc 2024-01-08 10:26:08 -08:00
vfio vfs-6.8.misc 2024-01-08 10:26:08 -08:00
vhost vfs-6.8.misc 2024-01-08 10:26:08 -08:00
video fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-10 09:16:02 +01:00
virt eventfd: simplify eventfd_signal() 2023-11-28 14:08:38 +01:00
virtio virtio_ring: fix syncs DMA memory with different direction 2023-12-04 08:36:25 -05:00
w1 nvmem: add explicit config option to read old syntax fixed OF cells 2023-10-21 19:19:06 +02:00
watchdog - removed AR7 platform support 2023-11-10 09:19:46 -08:00
xen vfs-6.8.misc 2024-01-08 10:26:08 -08:00
zorro
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile - removed AR7 platform support 2023-11-10 09:19:46 -08:00