On Fri, 23 Sep 2016 14:31:56 +0100 Stefan Hajnoczi <stefa...@redhat.com> wrote:
> On Wed, Sep 21, 2016 at 06:56:46PM +0200, Greg Kurz wrote: > > This series is a follow up to Stefan's work to eradicate most calls to > > exit() we currently have in the virtio code. > > > > It addresses all exit() call sites in the blk, net and scsi device code, > > where the error is about a missing or malformed in/out header sent by > > the guest. They are converted to use virtio_error() and stop any processing, > > instead of exiting. > > > > The remaining call sites are related to a host misconfiguration or a > > migration stream issue. > > > > The 9P code currently calls assert() instead of exit(), but it also about > > malformed or missing headers, so it gets converted the same way. > > > > Next work will be to check all assert() call sites in the device code, in > > case some of them actually refer to a bug in the guest, and should be > > converted to use virtio_error() as well. > > > > --- > > > > Greg Kurz (9): > > virtio-9p: add parentheses to sizeof operator > > virtio-blk: turn virtio_blk_handle_request() into a static function > > virtio-9p: handle handle_9p_output() error > > virtio-blk: handle virtio_blk_handle_request() errors > > virtio-net: handle virtio_net_handle_ctrl() error > > virtio-net: handle virtio_net_receive() errors > > virtio-net: handle virtio_net_flush_tx() errors > > virtio-scsi: convert virtio_scsi_bad_req() to use virtio_error() > > virtio-scsi: handle virtio_scsi_set_config() error > > > > > > hw/9pfs/virtio-9p-device.c | 24 ++++++++++++++----- > > hw/block/virtio-blk.c | 28 ++++++++++++++-------- > > hw/net/virtio-net.c | 51 > > +++++++++++++++++++++++----------------- > > hw/scsi/virtio-scsi.c | 23 ++++++++++-------- > > include/hw/virtio/virtio-blk.h | 2 -- > > 5 files changed, 78 insertions(+), 50 deletions(-) > > I'll review the next revision fully. Please consider the leaks caused > by returning with a VirtQueueElement allocated. I pointed them out in a > few patches. Thanks for pointing these out. I'll fix them in v3. Cheers. -- Greg
pgpGEaTAkKF7z.pgp
Description: OpenPGP digital signature