qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Ben Widawsky <ben.widawsky@intel.com>
Subject: [PULL 08/10] hw/cxl: Correctly handle variable sized mailbox input payloads.
Date: Wed, 17 Aug 2022 12:14:56 -0400	[thread overview]
Message-ID: <20220817161342.240674-9-mst@redhat.com> (raw)
In-Reply-To: <20220817161342.240674-1-mst@redhat.com>

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



  parent reply	other threads:[~2022-08-17 16:42 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-17 16:14 [PULL 00/10] pc,virtio: fixes Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 01/10] virtio-scsi: fix race in virtio_scsi_dataplane_start() Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 02/10] hw/virtio: gracefully handle unset vhost_dev vdev Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 03/10] hw/virtio: handle un-configured shutdown in virtio-pci Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 04/10] hw/virtio: fix vhost_user_read tracepoint Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 05/10] x86: disable rng seeding via setup_data Michael S. Tsirkin
2022-08-18  9:27   ` Paolo Bonzini
2022-08-18  9:54     ` Michael S. Tsirkin
2022-08-18 11:56     ` Gerd Hoffmann
2022-08-18 15:39       ` Jason A. Donenfeld
2022-08-17 16:14 ` [PULL 06/10] hw/cxl: Add stub write function for RO MemoryRegionOps entries Michael S. Tsirkin
2022-08-17 16:14 ` [PULL 07/10] hw/cxl: Fix Get LSA input payload size which should be 8 bytes Michael S. Tsirkin
2022-08-17 16:14 ` Michael S. Tsirkin [this message]
2022-08-17 16:15 ` [PULL 09/10] tests: acpi: silence applesmc warning about invalid key Michael S. Tsirkin
2022-08-17 16:15 ` [PULL 10/10] virtio-pci: don't touch pci on virtio reset Michael S. Tsirkin

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=20220817161342.240674-9-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=ben.widawsky@intel.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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).