On Mon, Jul 17, 2023 at 09:57:28AM +0800, Mark-PK Tsai wrote: > > On Sun, Jul 16, 2023, 11:16 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > On Thu, Jul 13, 2023 at 01:58:37PM +0800, Mark-PK Tsai wrote: > > > > From: Peter Korsgaard <peter@xxxxxxxxxxxxx> > > > > > > > > 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 cc1ed7542c8c ("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@xxxxxxxxxxxxx> > > > > Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> > > > > Cc: stable@xxxxxxxxxxxxxxx > > > > Signed-off-by: Mark-PK Tsai <mark-pk.tsai@xxxxxxxxxxxx> > > > > --- > > > > .../admin-guide/device-mapper/dm-init.rst | 8 +++++++ > > > > drivers/md/dm-init.c | 22 ++++++++++++++++++- > > > > 2 files changed, 29 insertions(+), 1 deletion(-) > > > > > > What is the git commit id of this change in Linus's tree? > > > > > > thanks, > > > > > > greg k-h > > > > > > > > > > Hey Greg, > > > > This change shouldn't be backported to stable@. It is a feature, if > > Mark-PK feels they need it older kernels they need to carry the change > > in their own tree. Or at a minimum they need to explain why this > > change is warranted in stable@. > > Thanks for your comment. > The reason why we think this should be backported to stable kernel is > that it actually fix the potential race condition when make block > device probe async in stable kernel. > And we'd like to fix this upstream rather than just take it in > our custom tree. Potential race condition, is this actually able to be hit in real life? thanks, greg k-h