Re: [Qemu-devel] [RFC PATCH 7/7] acpi: fix bug in acpi_checksum() caused by garbage in checksum field

Richard Henderson
2010-03-30T15:10:53Z

On 03/30/2010 01:20 AM, Eduard - Gabriel Munteanu wrote:
> + /* Ignore preexisting garbage in checksum. */
> + acpi_hdr = (struct acpi_table_header *) data;
> + sum -= acpi_hdr->checksum;
> +
> return (-sum) & 0xff;

Wouldn't it be cleaner to adjust the acpi_checksum definition to take
and acpi_table_header operand instead of uint8_t? And given it's only
usage, perhaps update the checksum instead of returning it? E.g.

- ((struct acpi_table_header*)p)->checksum = acpi_checksum((uint8_t*)p, off);
+ acpi_update_checksum((struct acpi_table_header *)p, off);

r~