From c4ce4c4b1f28095947d72abb0fb7de6c8d8efdb3 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 16 May 2014 17:44:05 +0200 Subject: [PATCH 1/4] scsi: Document intentional fall through in scsi_req_length() For clarity, and to hush up Coverity. Signed-off-by: Markus Armbruster Signed-off-by: Paolo Bonzini --- hw/scsi/scsi-bus.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index ae921a6a75..26770fb27b 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -938,6 +938,7 @@ static int scsi_req_length(SCSICommand *cmd, SCSIDevice *dev, uint8_t *buf) if (cmd->xfer == 0) { cmd->xfer = 256; } + /* fall through */ case WRITE_10: case WRITE_VERIFY_10: case WRITE_12: @@ -952,6 +953,7 @@ static int scsi_req_length(SCSICommand *cmd, SCSIDevice *dev, uint8_t *buf) if (cmd->xfer == 0) { cmd->xfer = 256; } + /* fall through */ case READ_10: case RECOVER_BUFFERED_DATA: case READ_12: From 91e7fcca4743cf694eb0c8e7a8d938cf359b5bd8 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 16 May 2014 17:44:06 +0200 Subject: [PATCH 2/4] virtio-scsi: Plug memory leak on virtio_scsi_push_event() error path Spotted by Coverity. Signed-off-by: Markus Armbruster Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini --- hw/scsi/virtio-scsi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index b0d7517cb1..91a62ce0bd 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -489,7 +489,7 @@ static void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev, uint32_t event, uint32_t reason) { VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(s); - VirtIOSCSIReq *req = virtio_scsi_pop_req(s, vs->event_vq); + VirtIOSCSIReq *req; VirtIOSCSIEvent *evt; VirtIODevice *vdev = VIRTIO_DEVICE(s); int in_size; @@ -498,6 +498,7 @@ static void virtio_scsi_push_event(VirtIOSCSI *s, SCSIDevice *dev, return; } + req = virtio_scsi_pop_req(s, vs->event_vq); if (!req) { s->events_dropped = true; return; From f2564d88fe7949bdb5ca4ad652282c28b3da6210 Mon Sep 17 00:00:00 2001 From: Jeff Cody Date: Mon, 19 May 2014 17:13:06 -0400 Subject: [PATCH 3/4] block: iscsi build fix if LIBISCSI_FEATURE_IOVECTOR is not defined Commit b03c380 introduced the function iscsi_allocationmap_is_allocated(), however it is only used within a code block that is conditionally compiled. This produces a warning (error with -werror) of "defined but not used" for the the function, if LIBISCSI_FEATURE_IOVECTOR is not defined. This wraps iscsi_allocationmap_is_allocated() in the same conditional. Signed-off-by: Jeff Cody Signed-off-by: Paolo Bonzini --- block/iscsi.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index 65bf97d674..1b4af77a7f 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -381,6 +381,7 @@ retry: } +#if defined(LIBISCSI_FEATURE_IOVECTOR) static bool iscsi_allocationmap_is_allocated(IscsiLun *iscsilun, int64_t sector_num, int nb_sectors) { @@ -393,9 +394,6 @@ static bool iscsi_allocationmap_is_allocated(IscsiLun *iscsilun, sector_num / iscsilun->cluster_sectors) == size); } - -#if defined(LIBISCSI_FEATURE_IOVECTOR) - static int64_t coroutine_fn iscsi_co_get_block_status(BlockDriverState *bs, int64_t sector_num, int nb_sectors, int *pnum) From 5a7733b0b728bb4900bdeed12fef22651ce0ab58 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Thu, 3 Apr 2014 15:47:34 +0200 Subject: [PATCH 4/4] megasas: remove buildtime strings Using __DATE__ or __TIME__ in binary pkgs changes the checksum of compiled binaries if they get rebuilt, even if there are no other source changes. Replace the dynamic strings with some equally informative static strings. Signed-off-by: Olaf Hering Signed-off-by: Paolo Bonzini --- hw/scsi/megasas.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index baee46f981..0e109a2844 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -728,8 +728,8 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd) snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION); memcpy(info.image_component[0].name, "APP", 3); memcpy(info.image_component[0].version, MEGASAS_VERSION "-QEMU", 9); - memcpy(info.image_component[0].build_date, __DATE__, 11); - memcpy(info.image_component[0].build_time, __TIME__, 8); + memcpy(info.image_component[0].build_date, "Apr 1 2014", 11); + memcpy(info.image_component[0].build_time, "12:34:56", 8); info.image_component_count = 1; if (pci_dev->has_rom) { uint8_t biosver[32];