acpi: make bios_linker_loader_add_checksum() API offset based
commit28213cb6a61a724e2cb1e3a76d2bb17aa0ce9b36
authorIgor Mammedov <imammedo@redhat.com>
Thu, 19 May 2016 13:19:30 +0000 (19 15:19 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 7 Jun 2016 12:39:27 +0000 (7 15:39 +0300)
tree3d19dc5c51a53dd776bf532db8861ad0fe7068a1
parent4678124bb9bfb49e93b83f95c4d2feeb443ea38b
acpi: make bios_linker_loader_add_checksum() API offset based

It should help to make clear that bios_linker works in terms
of offsets within a file. Also it should prevent mistakes
where user passes as arguments pointers to unrelated to file blobs.

While at it, considering that it's a ACPI checksum and
it's initial value must be 0, move checksum field zeroing
into bios_linker_loader_add_checksum() instead of doing it
at every call site manually before bios_linker_loader_add_checksum()
is called.

In addition add extra boundary checks.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/acpi/aml-build.c
hw/acpi/bios-linker-loader.c
hw/arm/virt-acpi-build.c
hw/i386/acpi-build.c
include/hw/acpi/bios-linker-loader.h