- hw/sd/sdhci: Do not update TRNMOD when Command Inhibit (DAT) is set(CVE-2024-3447) - hw/virtio/virtio-crypto: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/char/virtio-serial-bus: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/display/virtio-gpu: Protect from DMA re-entrancy bugs(CVE-2024-3446) - hw/virtio: Introduce virtio_bh_new_guarded() helper - hw/net/net_tx_pkt: Fix overrun in update_sctp_checksum() - hw/nvme: fix -Werror=maybe-uninitialized - block/virtio-blk: Fix memory leak from virtio_blk_zone_report - hw/net/virtio-net: fix qemu set used ring flag even vhost started - hw/scsi/scsi-generic: Fix io_timeout property not applying - tests: bios-tables-test: Rename smbios type 4 related test functions Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
From a57cbe41cd8b2d8bc31eac33ee74a3ac058d67dd Mon Sep 17 00:00:00 2001
|
|
From: qihao <qihao_yewu@cmss.chinamobile.com>
|
|
Date: Thu, 28 Mar 2024 15:24:25 +0800
|
|
Subject: [PATCH] hw/scsi/scsi-generic: Fix io_timeout property not applying
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
cheery-pick from 7c7a9f578e4fb1adff7ac8d9acaaaedb87474e76
|
|
|
|
The io_timeout property, introduced in c9b6609 (part of 6.0) is
|
|
silently overwritten by the hardcoded default value of 30 seconds
|
|
(DEFAULT_IO_TIMEOUT) in scsi_generic_realize because that function is
|
|
being called after the properties have already been applied.
|
|
|
|
The property definition already has a default value which is applied
|
|
correctly when no value is explicitly set, so we can just remove the
|
|
code which overrides the io_timeout completely.
|
|
|
|
This has been tested by stracing SG_IO operations with the io_timeout
|
|
property set and unset and now sets the timeout field in the ioctl
|
|
request to the proper value.
|
|
|
|
Fixes: c9b6609b69facad ("scsi: make io_timeout configurable")
|
|
Signed-off-by: Lorenz Brun <lorenz@brun.one>
|
|
Message-ID: <20240315145831.2531695-1-lorenz@brun.one>
|
|
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
|
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
|
|
Signed-off-by: qihao_yewu <qihao_yewu@cmss.chinamobile.com>
|
|
---
|
|
hw/scsi/scsi-generic.c | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c
|
|
index 22efcd09a6..12fdd8e748 100644
|
|
--- a/hw/scsi/scsi-generic.c
|
|
+++ b/hw/scsi/scsi-generic.c
|
|
@@ -782,7 +782,6 @@ static void scsi_generic_realize(SCSIDevice *s, Error **errp)
|
|
|
|
/* Only used by scsi-block, but initialize it nevertheless to be clean. */
|
|
s->default_scsi_version = -1;
|
|
- s->io_timeout = DEFAULT_IO_TIMEOUT;
|
|
scsi_generic_read_device_inquiry(s);
|
|
}
|
|
|
|
--
|
|
2.27.0
|
|
|