|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] EFI: Fix relocating ESRT for dom0
On February 10, 2026 7:16:42 PM EST, "Marek Marczykowski-Górecki"
<marmarek@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>Fix calculating the table size - it consists of a header + entries, not
>just entries.
>This bug caused the last entry to have garbage in its final fields,
>including LowestSupportedFwVersion and CapsuleFlags, which (usually)
>made fwupd to detect firmware update availability, but refuse actually
>installing it.
>
>Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
>Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
>---
> xen/common/efi/boot.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
>index 5b84dbf26e5e..45015a0dd583 100644
>--- a/xen/common/efi/boot.c
>+++ b/xen/common/efi/boot.c
>@@ -675,7 +675,8 @@ static size_t __init get_esrt_size(const
>EFI_MEMORY_DESCRIPTOR *desc)
> if ( esrt_ptr->FwResourceCount > available_len /
> sizeof(esrt_ptr->Entries[0]) )
> return 0;
>
>- return esrt_ptr->FwResourceCount * sizeof(esrt_ptr->Entries[0]);
>+ return offsetof(EFI_SYSTEM_RESOURCE_TABLE, Entries) +
>+ esrt_ptr->FwResourceCount * sizeof(esrt_ptr->Entries[0]);
> }
>
> static EFI_GUID __initdata esrt_guid = EFI_SYSTEM_RESOURCE_TABLE_GUID;
With Andy's suggestions,
Acked-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |