qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qemu seabios issue with vhost-scsi


From: Asias He
Subject: Re: [Qemu-devel] qemu seabios issue with vhost-scsi
Date: Thu, 23 May 2013 23:27:58 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, May 23, 2013 at 04:58:05PM +0200, Paolo Bonzini wrote:
> Il 23/05/2013 16:48, Badari Pulavarty ha scritto:
> >> The common virtio-scsi code in QEMU should guard against this.  In
> >> virtio-blk data plane I hit a similar case and ended up starting the
> >> data plane thread (equivalent to vhost here) *before* the status
> >> register is set to DRIVER_OK.
> > 
> > Thats exactly what my debug in vhost_scsi_set_status() shows.
> > 
> > set status started 0 val 0
> > set status started 0 val 0
> > set status started 0 val 0
> > set status started 0 val 0
> > set status started 0 val 0
> > set status started 0 val 3
> > Program received signal SIGSEGV, Segmentation fault.
> > 
> > We never got a chance to call vhost_scsi_start() as we are waiting
> > for DRIVER_OK.

Reproduced the SIGSEGV and verified that replacing the bios.bin with the
one from seabios.git makes the guest boot.

> This is the fix in SeaBIOS:
> 
> commit 5a7730db57ab0715223421e65b54fb50d6fefe5c
> Author: Asias He <address@hidden>
> Date:   Fri Mar 15 09:45:15 2013 +0800
> 
>     virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
> 
>     Before we start scsi target scanning, we need to set the
>     VIRTIO_CONFIG_S_DRIVER_OK flag so the device can do setup properly.
> 
>     This fix a bug when booting tcm_vhost with seabios.
> 
>     Signed-off-by: Asias He <address@hidden>
>     Acked-by: Paolo Bonzini <address@hidden>
> 
> 
> 
> Still, Gleb is right that SeaBIOS should not be able to crash QEMU;
> exit(1) is fine, SIGSEGV is not.

Agree too.

> Paolo

-- 
Asias



reply via email to

[Prev in Thread] Current Thread [Next in Thread]