[PATCH v2 1/1] lib: smbios: verify_checksum() is duplicate

The function verify_checksum() duplicates what table_compute_checksum() does. Replace it. table_compute_checksum() is always compiled.
Fixes: 415eab0655a8 ("smbios: add parsing API") Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com Reviewed-by: Simon Glass sjg@chromium.org --- v2: mention that table_compute_checksum() is always compiled --- lib/smbios-parser.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-)
diff --git a/lib/smbios-parser.c b/lib/smbios-parser.c index b578c30840..110670343d 100644 --- a/lib/smbios-parser.c +++ b/lib/smbios-parser.c @@ -5,23 +5,9 @@
#define LOG_CATEGORY LOGC_BOOT
+#include <tables_csum.h> #include <smbios.h>
-static inline int verify_checksum(const struct smbios_entry *e) -{ - /* - * Checksums for SMBIOS tables are calculated to have a value, so that - * the sum over all bytes yields zero (using unsigned 8 bit arithmetic). - */ - u8 *byte = (u8 *)e; - u8 sum = 0; - - for (int i = 0; i < e->length; i++) - sum += byte[i]; - - return sum; -} - const struct smbios_entry *smbios_entry(u64 address, u32 size) { const struct smbios_entry *entry = (struct smbios_entry *)(uintptr_t)address; @@ -32,7 +18,7 @@ const struct smbios_entry *smbios_entry(u64 address, u32 size) if (memcmp(entry->anchor, "_SM_", 4)) return NULL;
- if (verify_checksum(entry)) + if (table_compute_checksum(entry, entry->length)) return NULL;
return entry;
participants (1)
-
Heinrich Schuchardt