[BUG] efi_loader: ESRT table not correctly built
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Sat Jan 29 22:28:09 CET 2022
Function efi_esrt_populate() is used to populate the ESRT table.
If one of the FMP protocols malfunctions when calling GetImageInfo(),
e.g because the dfu environment variables are not set, we should still
add all other FMP protocols to the ESRT table, e.g the one added in the
ESRT unit test.
The sequence of operation in efi_esrt_populate() should be changed:
1) get the number of FMP protocols from LocateHandleBuffer
2)
a) allocate an ESRT that is big enough
b) set FwResourceCountMax.
3) iterate over the FMP protocols
For each valid FMP protocol:
a) increase FwResourceCount
b) add the info block.
Best regards
Heinrich
More information about the U-Boot
mailing list