I posted a fix that takes care of this in SCSI this morning: https://marc.info/?l=linux-scsi&m=156378725427719&w=2
I suspect for virtio-blk we should do the same. > static inline bool dma_addressing_limited(struct device *dev) > { > - return min_not_zero(*dev->dma_mask, dev->bus_dma_mask) < > - dma_get_required_mask(dev); > + return dev->dma_mask ? min_not_zero(*dev->dma_mask, dev->bus_dma_mask) < > + dma_get_required_mask(dev) : false; But to be on the safe side we could still do an early return here, but it should have a WARN_ON_ONCE.