[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 08/10] hw/cxl: Correctly handle variable sized mailbox input paylo
From: |
Michael S. Tsirkin |
Subject: |
[PULL 08/10] hw/cxl: Correctly handle variable sized mailbox input payloads. |
Date: |
Wed, 17 Aug 2022 12:14:56 -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 02/10] hw/virtio: gracefully handle unset vhost_dev vdev, (continued)
- [PULL 02/10] hw/virtio: gracefully handle unset vhost_dev vdev, Michael S. Tsirkin, 2022/08/17
- [PULL 04/10] hw/virtio: fix vhost_user_read tracepoint, Michael S. Tsirkin, 2022/08/17
- [PULL 10/10] virtio-pci: don't touch pci on virtio reset, Michael S. Tsirkin, 2022/08/17
- [PULL 06/10] hw/cxl: Add stub write function for RO MemoryRegionOps entries., Michael S. Tsirkin, 2022/08/17
- [PULL 05/10] x86: disable rng seeding via setup_data, Michael S. Tsirkin, 2022/08/17
- [PULL 07/10] hw/cxl: Fix Get LSA input payload size which should be 8 bytes., Michael S. Tsirkin, 2022/08/17
- [PULL 08/10] hw/cxl: Correctly handle variable sized mailbox input payloads.,
Michael S. Tsirkin <=
- [PULL 09/10] tests: acpi: silence applesmc warning about invalid key, Michael S. Tsirkin, 2022/08/17