[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/12] hw/cxl: Correctly handle variable sized mailbox input paylo
From: |
Michael S. Tsirkin |
Subject: |
[PULL 10/12] hw/cxl: Correctly handle variable sized mailbox input payloads. |
Date: |
Wed, 17 Aug 2022 16:06:24 -0400 |
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
A placeholder of ~0 is used to indicate variable payload size.
Whilst the checks for output payload correctly took this into
account, those for input payload did not.
This results in failure of the Set LSA command.
Fixes: 464e14ac43 ("hw/cxl/device: Implement basic mailbox (8.2.8.4)")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220817145759.32603-4-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/cxl/cxl-mailbox-utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
index 3cea8b17a8..bc1bb18844 100644
--- a/hw/cxl/cxl-mailbox-utils.c
+++ b/hw/cxl/cxl-mailbox-utils.c
@@ -425,7 +425,7 @@ void cxl_process_mailbox(CXLDeviceState *cxl_dstate)
cxl_cmd = &cxl_cmd_set[set][cmd];
h = cxl_cmd->handler;
if (h) {
- if (len == cxl_cmd->in) {
+ if (len == cxl_cmd->in || cxl_cmd->in == ~0) {
cxl_cmd->payload = cxl_dstate->mbox_reg_state +
A_CXL_DEV_CMD_PAYLOAD;
ret = (*h)(cxl_cmd, cxl_dstate, &len);
--
MST
- [PULL 00/12] pc,virtio: fixes, Michael S. Tsirkin, 2022/08/17
- [PULL 01/12] virtio-scsi: fix race in virtio_scsi_dataplane_start(), Michael S. Tsirkin, 2022/08/17
- [PULL 02/12] hw/virtio: gracefully handle unset vhost_dev vdev, Michael S. Tsirkin, 2022/08/17
- [PULL 03/12] hw/virtio: handle un-configured shutdown in virtio-pci, Michael S. Tsirkin, 2022/08/17
- [PULL 04/12] hw/virtio: fix vhost_user_read tracepoint, Michael S. Tsirkin, 2022/08/17
- [PULL 05/12] x86: disable rng seeding via setup_data, Michael S. Tsirkin, 2022/08/17
- [PULL 06/12] hw/cxl: Fix memory leak in error paths, Michael S. Tsirkin, 2022/08/17
- [PULL 08/12] hw/cxl: Add stub write function for RO MemoryRegionOps entries., Michael S. Tsirkin, 2022/08/17
- [PULL 09/12] hw/cxl: Fix Get LSA input payload size which should be 8 bytes., Michael S. Tsirkin, 2022/08/17
- [PULL 10/12] hw/cxl: Correctly handle variable sized mailbox input payloads.,
Michael S. Tsirkin <=
- [PULL 11/12] tests: acpi: silence applesmc warning about invalid key, Michael S. Tsirkin, 2022/08/17
- [PULL 12/12] virtio-pci: don't touch pci on virtio reset, Michael S. Tsirkin, 2022/08/17
- [PULL 07/12] hw/cxl: Fix wrong query of target ports, Michael S. Tsirkin, 2022/08/17
- Re: [PULL 00/12] pc,virtio: fixes, Richard Henderson, 2022/08/18