[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 27/28] hw/scsi/virtio-scsi.c: fix the "type" use erro
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 27/28] hw/scsi/virtio-scsi.c: fix the "type" use error in virtio_scsi_handle_ctrl |
Date: |
Mon, 27 Oct 2014 16:13:44 +0100 |
From: Bin Wu <address@hidden>
The local variable "type" in virtio_scsi_handle_ctl represents the tmf
command type from the guest and it has the same meaning as the
req->req.tmf.type. However, before the invoking of virtio_scsi_parse_req
the req->req.tmf.type doesn't has the correct value(just initialized to
zero). Therefore, we need to use the "type" variable to judge the case.
Cc: address@hidden
Signed-off-by: Bin Wu <address@hidden>
[Actually make it compile, "type" must be uint32_t in order to pass
it to virtio_tswap32s. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/scsi/virtio-scsi.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 85cd91e..7d40ecc 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -369,7 +369,7 @@ fail:
void virtio_scsi_handle_ctrl_req(VirtIOSCSI *s, VirtIOSCSIReq *req)
{
VirtIODevice *vdev = (VirtIODevice *)s;
- int type;
+ uint32_t type;
int r = 0;
if (iov_to_buf(req->elem.out_sg, req->elem.out_num, 0,
@@ -378,8 +378,8 @@ void virtio_scsi_handle_ctrl_req(VirtIOSCSI *s,
VirtIOSCSIReq *req)
return;
}
- virtio_tswap32s(vdev, &req->req.tmf.type);
- if (req->req.tmf.type == VIRTIO_SCSI_T_TMF) {
+ virtio_tswap32s(vdev, &type);
+ if (type == VIRTIO_SCSI_T_TMF) {
if (virtio_scsi_parse_req(req, sizeof(VirtIOSCSICtrlTMFReq),
sizeof(VirtIOSCSICtrlTMFResp)) < 0) {
virtio_scsi_bad_req();
@@ -387,8 +387,8 @@ void virtio_scsi_handle_ctrl_req(VirtIOSCSI *s,
VirtIOSCSIReq *req)
r = virtio_scsi_do_tmf(s, req);
}
- } else if (req->req.tmf.type == VIRTIO_SCSI_T_AN_QUERY ||
- req->req.tmf.type == VIRTIO_SCSI_T_AN_SUBSCRIBE) {
+ } else if (type == VIRTIO_SCSI_T_AN_QUERY ||
+ type == VIRTIO_SCSI_T_AN_SUBSCRIBE) {
if (virtio_scsi_parse_req(req, sizeof(VirtIOSCSICtrlANReq),
sizeof(VirtIOSCSICtrlANResp)) < 0) {
virtio_scsi_bad_req();
--
1.8.3.1
- [Qemu-devel] [PULL 19/28] MAINTAINERS: Add more TCG files, (continued)
- [Qemu-devel] [PULL 19/28] MAINTAINERS: Add more TCG files, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 20/28] MAINTAINERS: add some tests directories, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 17/28] MAINTAINERS: add Samuel Thibault as usb-serial.c and baum.c maintainer, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 21/28] MAINTAINERS: avoid M entries that point to mailing lists, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 23/28] get_maintainer.pl: move git loop under "if ($email) {", Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 24/28] get_maintainer.pl: restrict cases where it falls back to --git, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 25/28] target-i386: add Intel AVX-512 support, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 22/28] qtest: fix qtest log fd should be initialized before qtest chardev, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 26/28] virtio-scsi: sense in virtio_scsi_command_complete, Paolo Bonzini, 2014/10/27
- [Qemu-devel] [PULL 27/28] hw/scsi/virtio-scsi.c: fix the "type" use error in virtio_scsi_handle_ctrl,
Paolo Bonzini <=
- [Qemu-devel] [PULL 28/28] aio / timers: De-document -clock, Paolo Bonzini, 2014/10/27
- Re: [Qemu-devel] [PULL 00/28] Changes for 2014-10-27, Andreas Färber, 2014/10/27
- Re: [Qemu-devel] [PULL 00/28] Changes for 2014-10-27, Peter Maydell, 2014/10/28