[QEMU PATCH] hw/cxl/cxl-mailbox-util: Fix output buffer index update when retrieving DC extents

nifan.cxl@gmail.com posted 1 patch 1 week ago
hw/cxl/cxl-mailbox-utils.c | 1 +
1 file changed, 1 insertion(+)
[QEMU PATCH] hw/cxl/cxl-mailbox-util: Fix output buffer index update when retrieving DC extents
Posted by nifan.cxl@gmail.com 1 week ago
From: Fan Ni <fan.ni@samsung.com>

In the function of retrieving DC extents (cmd_dcd_get_dyn_cap_ext_list),
the output buffer index was not correctly updated while iterating the
extent list on the device, leaving the extents returned incorrect except for
the first one.

Fixes: 1c9221f19e ("hw/mem/cxl_type3: Add DC extent list representative ...")
Signed-off-by: Fan Ni <fan.ni@samsung.com>
---
 hw/cxl/cxl-mailbox-utils.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
index c82ad50ac8..58f8930272 100644
--- a/hw/cxl/cxl-mailbox-utils.c
+++ b/hw/cxl/cxl-mailbox-utils.c
@@ -2233,6 +2233,7 @@ static CXLRetCode cmd_dcd_get_dyn_cap_ext_list(const struct cxl_cmd *cmd,
             stw_le_p(&out_rec->shared_seq, ent->shared_seq);
 
             record_done++;
+            out_rec++;
             if (record_done == record_count) {
                 break;
             }
-- 
2.43.0
Re: [QEMU PATCH] hw/cxl/cxl-mailbox-util: Fix output buffer index update when retrieving DC extents
Posted by Jonathan Cameron via 5 days, 7 hours ago
On Tue, 15 Oct 2024 11:51:26 -0700
nifan.cxl@gmail.com wrote:

> From: Fan Ni <fan.ni@samsung.com>
> 
> In the function of retrieving DC extents (cmd_dcd_get_dyn_cap_ext_list),
> the output buffer index was not correctly updated while iterating the
> extent list on the device, leaving the extents returned incorrect except for
> the first one.
> 
> Fixes: 1c9221f19e ("hw/mem/cxl_type3: Add DC extent list representative ...")
> Signed-off-by: Fan Ni <fan.ni@samsung.com>
I'll queue this up alongside that other fix.

thanks,

Jonathan
p.s. I'm having some issues with the list servers bouncing my emails so this
may not reach the list.

> ---
>  hw/cxl/cxl-mailbox-utils.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
> index c82ad50ac8..58f8930272 100644
> --- a/hw/cxl/cxl-mailbox-utils.c
> +++ b/hw/cxl/cxl-mailbox-utils.c
> @@ -2233,6 +2233,7 @@ static CXLRetCode cmd_dcd_get_dyn_cap_ext_list(const struct cxl_cmd *cmd,
>              stw_le_p(&out_rec->shared_seq, ent->shared_seq);
>  
>              record_done++;
> +            out_rec++;
>              if (record_done == record_count) {
>                  break;
>              }