From 28213cb6a61a724e2cb1e3a76d2bb17aa0ce9b36 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Thu, 19 May 2016 15:19:30 +0200 Subject: 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 Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/bios-linker-loader.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/hw/acpi') diff --git a/include/hw/acpi/bios-linker-loader.h b/include/hw/acpi/bios-linker-loader.h index f666b7c..a05227e 100644 --- a/include/hw/acpi/bios-linker-loader.h +++ b/include/hw/acpi/bios-linker-loader.h @@ -17,8 +17,8 @@ void bios_linker_loader_alloc(BIOSLinker *linker, bool alloc_fseg); void bios_linker_loader_add_checksum(BIOSLinker *linker, const char *file, - void *start, unsigned size, - uint8_t *checksum); + unsigned start_offset, unsigned size, + unsigned checksum_offset); void bios_linker_loader_add_pointer(BIOSLinker *linker, const char *dest_file, -- cgit v1.1