If the number of installed tables is changed in
InstallConfigurationTable() update the crc32 of the system table.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
v3:
        new patch
---
 lib/efi_loader/efi_boottime.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 3689cebf8f..ea1e4953dc 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -1429,6 +1429,9 @@ efi_status_t efi_install_configuration_table(const 
efi_guid_t *guid,
        systab.nr_tables = i + 1;
 
 out:
+       /* systab.nr_tables may have changed. So we need to update the crc32 */
+       efi_update_table_header_crc32(&systab.hdr);
+
        /* Notify that the configuration table was changed */
        list_for_each_entry(evt, &efi_events, link) {
                if (evt->group && !guidcmp(evt->group, guid)) {
-- 
2.18.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to