linux-stable/drivers
Peter Korsgaard be19cb6716 dm init: add dm-mod.waitfor to wait for asynchronously probed block devices
commit 035641b01e upstream.

Just calling wait_for_device_probe() is not enough to ensure that
asynchronously probed block devices are available (E.G. mmc, usb), so
add a "dm-mod.waitfor=<device1>[,..,<deviceN>]" parameter to get
dm-init to explicitly wait for specific block devices before
initializing the tables with logic similar to the rootwait logic that
was introduced with commit  cc1ed7542c ("init: wait for
asynchronously scanned block devices").

E.G. with dm-verity on mmc using:
dm-mod.waitfor="PARTLABEL=hash-a,PARTLABEL=root-a"

[    0.671671] device-mapper: init: waiting for all devices to be available before creating mapped devices
[    0.671679] device-mapper: init: waiting for device PARTLABEL=hash-a ...
[    0.710695] mmc0: new HS200 MMC card at address 0001
[    0.711158] mmcblk0: mmc0:0001 004GA0 3.69 GiB
[    0.715954] mmcblk0boot0: mmc0:0001 004GA0 partition 1 2.00 MiB
[    0.722085] mmcblk0boot1: mmc0:0001 004GA0 partition 2 2.00 MiB
[    0.728093] mmcblk0rpmb: mmc0:0001 004GA0 partition 3 512 KiB, chardev (249:0)
[    0.738274]  mmcblk0: p1 p2 p3 p4 p5 p6 p7
[    0.751282] device-mapper: init: waiting for device PARTLABEL=root-a ...
[    0.751306] device-mapper: init: all devices available
[    0.751683] device-mapper: verity: sha256 using implementation "sha256-generic"
[    0.759344] device-mapper: ioctl: dm-0 (vroot) is ready
[    0.766540] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Cc: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-23 13:49:38 +02:00
..
accessibility
acpi ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() 2023-06-28 11:12:22 +02:00
amba
android
ata ata: libata-scsi: Avoid deadlock on rescan after device resume 2023-06-28 11:12:17 +02:00
atm
auxdisplay
base drivers: fwnode: fix fwnode_irq_get[_byname]() 2023-07-19 16:21:57 +02:00
bcma
block null_blk: Fix: memory release when memory_backed=1 2023-06-28 11:12:39 +02:00
bluetooth
bus bus: fsl-mc: don't assume child devices are all fsl-mc devices 2023-07-19 16:21:57 +02:00
cdrom
char hwrng: imx-rngc - fix the timeout for init and self check 2023-07-23 13:49:35 +02:00
clk clk: qcom: mmcc-msm8974: fix MDSS_GDSC power flags 2023-07-19 16:21:58 +02:00
clocksource clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe 2023-07-19 16:20:59 +02:00
comedi
connector
counter
cpufreq cpufreq: mediatek: correct voltages for MT7622 and MT7623 2023-07-19 16:21:58 +02:00
cpuidle
crypto crypto: qat - unmap buffers before free for RSA 2023-07-19 16:21:42 +02:00
cxl
dax dax/kmem: Pass valid argument to memory_group_register_static 2023-07-19 16:21:43 +02:00
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon extcon: usbc-tusb320: Unregister typec port on driver removal 2023-07-19 16:22:08 +02:00
firewire
firmware efi/libstub: Disable PCI DMA before grabbing the EFI memory map 2023-07-19 16:21:44 +02:00
fpga
fsi
gnss
gpio gpiolib: Fix irq_domain resource tracking for gpiochip_irqchip_add_domain() 2023-06-28 11:12:35 +02:00
gpu drm/amd/pm: add abnormal fan detection for smu 13.0.0 2023-07-23 13:49:29 +02:00
greybus
hid HID: amd_sfh: Fix for shift-out-of-bounds 2023-07-23 13:49:18 +02:00
hsi
hte
hv Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs 2023-06-28 11:12:23 +02:00
hwmon hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 2023-07-19 16:21:27 +02:00
hwspinlock
hwtracing hwtracing: hisi_ptt: Fix potential sleep in atomic context 2023-07-19 16:21:58 +02:00
i2c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-07-19 16:22:12 +02:00
i3c i3c: master: svc: fix cpu schedule in spin lock 2023-07-19 16:21:54 +02:00
idle
iio iio: accel: fxls8962af: fixup buffer scan element type 2023-07-19 16:21:46 +02:00
infiniband RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context 2023-07-19 16:21:29 +02:00
input Input: pm8941-powerkey - fix debounce on gen2+ PMICs 2023-07-19 16:21:26 +02:00
interconnect
iommu iommu/virtio: Return size mapped for a detached domain 2023-07-19 16:21:20 +02:00
ipack
irqchip irqchip/loongson-pch-pic: Fix initialization of HT vector register 2023-07-19 16:22:09 +02:00
isdn
leds leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename 2023-07-19 16:22:15 +02:00
macintosh
mailbox mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 2023-07-19 16:22:03 +02:00
mcb
md dm init: add dm-mod.waitfor to wait for asynchronously probed block devices 2023-07-23 13:49:38 +02:00
media media: cec: i2c: ch7322: also select REGMAP 2023-07-19 16:22:00 +02:00
memory memory: brcmstb_dpfe: fix testing array offset after use 2023-07-19 16:21:24 +02:00
memstick memstick r592: make memstick_debug_get_tpc_name() static 2023-07-19 16:21:08 +02:00
message
mfd mfd: pm8008: Fix module autoloading 2023-07-23 13:49:37 +02:00
misc misc: pci_endpoint_test: Re-init completion for every test 2023-07-23 13:49:37 +02:00
mmc mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used. 2023-07-19 16:22:09 +02:00
most
mtd mtd: rawnand: meson: fix unaligned DMA buffers handling 2023-07-23 13:49:31 +02:00
mux
net net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver 2023-07-23 13:49:32 +02:00
nfc nfcsim.c: Fix error checking for debugfs_create_dir 2023-06-28 11:12:36 +02:00
ntb NTB: ntb_tool: Add check for devm_kcalloc 2023-07-23 13:49:24 +02:00
nubus nubus: Partially revert proc_create_single_data() conversion 2023-07-05 18:27:37 +01:00
nvdimm
nvme nvme-pci: fix DMA direction of unmapping integrity data 2023-07-23 13:49:27 +02:00
nvmem nvmem: rmem: Use NVMEM_DEVID_AUTO 2023-07-19 16:21:57 +02:00
of
opp
parisc
parport
pci PCI: rockchip: Set address alignment for endpoint mode 2023-07-23 13:49:37 +02:00
pcmcia
peci
perf drivers/perf: hisi: Don't migrate perf to the CPU going to teardown 2023-07-19 16:21:00 +02:00
phy phy: tegra: xusb: check return value of devm_kzalloc() 2023-07-19 16:21:58 +02:00
pinctrl pinctrl: amd: Unify debounce handling into amd_pinconf_set() 2023-07-23 13:49:31 +02:00
platform platform/x86: wmi: Break possible infinite loop when parsing GUID 2023-07-23 13:49:24 +02:00
pnp
power
powercap powercap: RAPL: Fix CONFIG_IOSF_MBI dependency 2023-07-19 16:21:00 +02:00
pps
ps3
ptp
pwm pwm: mtk_disp: Fix the disable flow of disp_pwm 2023-07-19 16:21:59 +02:00
rapidio
ras
regulator regulator: tps65219: Fix matching interrupts for their regulators 2023-07-19 16:22:14 +02:00
remoteproc
reset
rpmsg
rtc rtc: st-lpc: Release some resources in st_rtc_probe() in case of error 2023-07-19 16:21:59 +02:00
s390 s390/zcrypt: do not retry administrative requests 2023-07-23 13:49:35 +02:00
sbus
scsi scsi: mpi3mr: Propagate sense data for admin queue SCSI I/O 2023-07-23 13:49:35 +02:00
sh
siox
slimbus
soc soc: qcom: mdt_loader: Fix unconditional call to scm_pas_mem_setup 2023-07-23 13:49:34 +02:00
soundwire soundwire: qcom: add proper error paths in qcom_swrm_startup() 2023-06-28 11:12:38 +02:00
spi spi: bcm-qspi: return error if neither hif_mspi nor mspi is available 2023-07-19 16:22:03 +02:00
spmi
ssb
staging media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() 2023-07-19 16:21:54 +02:00
target scsi: target: iscsi: Prevent login threads from racing between each other 2023-06-28 11:12:35 +02:00
tc
tee
thermal thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() 2023-07-19 16:21:01 +02:00
thunderbolt
tty tty: serial: fsl_lpuart: add earlycon for imx8ulp platform 2023-07-19 16:22:17 +02:00
ufs scsi: ufs: ufs-mediatek: Add dependency for RESET_CONTROLLER 2023-07-23 13:49:21 +02:00
uio
usb usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-07-19 16:22:12 +02:00
vdpa
vfio vfio/mdev: Move the compat_class initialization to module init 2023-07-19 16:21:41 +02:00
vhost vhost_net: revert upend_idx only on retriable error 2023-06-28 11:12:40 +02:00
video fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() 2023-07-19 16:21:26 +02:00
virt virt: sevguest: Add CONFIG_CRYPTO dependency 2023-07-19 16:20:55 +02:00
virtio
vlynq
w1 w1: fix loop in w1_fini() 2023-07-19 16:21:48 +02:00
watchdog
xen
zorro
Kconfig
Makefile