> From: Petr Tesařík <petr@xxxxxxxxxxx> > Sent: Tuesday, April 4, 2023 9:40 PM > > > ... > > > Hi Petr, this patch has gone into the mainline: > > > 0eee5ae10256 ("swiotlb: fix slot alignment checks") > > > > > > Somehow it breaks Linux VMs on Hyper-V: a regular VM with > > > swiotlb=force or a confidential VM (which uses swiotlb) fails to boot. > > > If I revert this patch, everything works fine. > > > > The log is pasted below. Looks like the SCSI driver hv_storvsc fails to > > detect the disk capacity: > > The first thing I can imagine is that there are in fact no (free) slots > in the SWIOTLB which match the alignment constraints, so the map > operation fails. However, this would result in a "swiotlb buffer is > full" message in the log, and I can see no such message in the log > excerpt you have posted. > > Please, can you check if there are any "swiotlb" messages preceding the > first error message? > > Petr T There is no "swiotlb buffer is full" error. The hv_storvsc driver (drivers/scsi/storvsc_drv.c) calls scsi_dma_map(), which doesn't return -ENOMEM when the failure happens. BTW, Kelsey reported the same issue (also no "swiotlb buffer is full" error): https://lwn.net/ml/linux-kernel/20230405003549.GA21326@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ -- Dexuan