Re: [PATCH 2/2] cxl/cdat: Fix header sum value in CDAT checksum

From: Ira Weiny
Date: Mon Nov 27 2023 - 15:48:17 EST


Dave Jiang wrote:
>

[snip]

> > diff --git a/hw/cxl/cxl-cdat.c b/hw/cxl/cxl-cdat.c
> > index 24829cf2428d..d93e2e4e64f2 100644
> > --- a/hw/cxl/cxl-cdat.c
> > +++ b/hw/cxl/cxl-cdat.c
> > @@ -95,8 +95,15 @@ static void ct3_build_cdat(CDATObject *cdat, Error **errp)
> > /* For now, no runtime updates */
> > cdat_header->sequence = 0;
> > cdat_header->length += sizeof(CDATTableHeader);
> > - sum += cdat_header->revision + cdat_header->sequence +
> > - cdat_header->length;
> > +
> > + do {
> > + uint8_t *buf = (uint8_t *)cdat_header;
> > +
> > + for (i = 0; i < sizeof(*cdat_header); i++) {
> > + sum += buf[i];
> > + }
> > + } while (0);
>
> Why the empty do/while loop?

Because I used the loop for debugging and forgot to clean up after it was
tested.

I'll send a v2,
Ira