Re: [PATCH v2 8/8] virtio/s390: make airq summary indicators DMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 28 May 2019 16:33:42 +0200
Halil Pasic <pasic@xxxxxxxxxxxxx> wrote:

> 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.

How high are the chances of things working if we fail to allocate here?
Returning with -ENOMEM is probably the more reasonable approach here.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux