On Mon, 27 May 2019 14:00:18 +0200 Cornelia Huck <cohuck@xxxxxxxxxx> wrote: > On Thu, 23 May 2019 18:22:09 +0200 > Michael Mueller <mimu@xxxxxxxxxxxxx> wrote: > > > From: Halil Pasic <pasic@xxxxxxxxxxxxx> > > > > Hypervisor needs to interact with the summary indicators, so these > > need to be DMA memory as well (at least for protected virtualization > > guests). > > > > Signed-off-by: Halil Pasic <pasic@xxxxxxxxxxxxx> > > --- > > drivers/s390/virtio/virtio_ccw.c | 22 +++++++++++++++------- > > 1 file changed, 15 insertions(+), 7 deletions(-) > > (...) > > > @@ -1501,6 +1508,7 @@ static int __init virtio_ccw_init(void) > > { > > /* parse no_auto string before we do anything further */ > > no_auto_parse(); > > + summary_indicators = cio_dma_zalloc(MAX_AIRQ_AREAS); > > What happens if this fails? Bad things could happen! How about adding if (!summary_indicators) virtio_ccw_use_airq = 0; /* fall back to classic */ ? Since it ain't very likely to happen, we could also just fail virtio_ccw_init() with -ENOMEM. Regards, Halil > > > return ccw_driver_register(&virtio_ccw_driver); > > } > > device_initcall(virtio_ccw_init); >