From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-stable@nongnu.org, Bin Wu <wu.wubin@huawei.com>
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 [thread overview]
Message-ID: <1414422825-6166-28-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1414422825-6166-1-git-send-email-pbonzini@redhat.com>
From: Bin Wu <wu.wubin@huawei.com>
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: qemu-stable@nongnu.org
Signed-off-by: Bin Wu <wu.wubin@huawei.com>
[Actually make it compile, "type" must be uint32_t in order to pass
it to virtio_tswap32s. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
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
next prev parent reply other threads:[~2014-10-27 15:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-27 15:13 [Qemu-devel] [PULL 00/28] Changes for 2014-10-27 Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 01/28] virtio-scsi-dataplane: Add op blocker Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 02/28] virtio-scsi: dataplane: print why starting failed Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 03/28] virtio-scsi: dataplane: fail setup gracefully Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 04/28] virtio-scsi: dataplane: stop trying on notifier error Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 05/28] qom: Allow clearing of a Link property Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 06/28] qom: Demote already-has-a-parent to a regular error Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 07/28] qdev: gpio: Re-implement qdev_connect_gpio QOM style Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 08/28] qdev: gpio: Add API for intercepting a GPIO Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 09/28] qtest/irq: Rework IRQ interception Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 10/28] irq: Remove qemu_irq_intercept_out Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 11/28] qdev: gpio: delete NamedGPIOList::out Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 12/28] qdev: gpio: Remove qdev_init_gpio_out x1 restriction Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 13/28] qdev: gpio: Define qdev_pass_gpios() Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 14/28] sysbus: Use TYPE_DEVICE GPIO functionality Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 15/28] target-i386: warns users when CPU threads>1 for non-Intel CPUs Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 16/28] MAINTAINERS: grab more files from Anthony's pile Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 17/28] MAINTAINERS: add Samuel Thibault as usb-serial.c and baum.c maintainer Paolo Bonzini
2014-10-27 15:16 ` Samuel Thibault
2014-10-27 15:13 ` [Qemu-devel] [PULL 18/28] MAINTAINERS: add myself for X86 Paolo Bonzini
2014-10-27 15:41 ` Aurelien Jarno
2014-10-27 15:49 ` Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 19/28] MAINTAINERS: Add more TCG files Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 20/28] MAINTAINERS: add some tests directories Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 21/28] MAINTAINERS: avoid M entries that point to mailing lists Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 22/28] qtest: fix qtest log fd should be initialized before qtest chardev Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 23/28] get_maintainer.pl: move git loop under "if ($email) {" Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 24/28] get_maintainer.pl: restrict cases where it falls back to --git Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 25/28] target-i386: add Intel AVX-512 support Paolo Bonzini
2014-10-27 15:13 ` [Qemu-devel] [PULL 26/28] virtio-scsi: sense in virtio_scsi_command_complete Paolo Bonzini
2014-10-27 15:13 ` Paolo Bonzini [this message]
2014-10-27 15:13 ` [Qemu-devel] [PULL 28/28] aio / timers: De-document -clock Paolo Bonzini
2014-10-27 18:02 ` [Qemu-devel] [PULL 00/28] Changes for 2014-10-27 Andreas Färber
2014-10-28 7:27 ` Paolo Bonzini
2014-10-28 16:40 ` Peter Maydell
2014-10-28 16:49 ` Peter Maydell
2014-10-28 17:57 ` Paolo Bonzini
2014-10-28 23:58 ` Paolo Bonzini
2014-10-30 14:45 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1414422825-6166-28-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=wu.wubin@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).