Re: [PATCH v1] DynamicTablesPkg: Fix using RmrNodeCount unitlitialised


Sami Mujawar
 

Hi Edward,

Thank you for this patch.

This fix looks good to me.

Reviewed-by: Sami Mujawar <sami.mujawar@...>

Regards,

Sami Mujawar

On 04/08/2022 10:20 am, Edward Pickup wrote:
Fix using RmrNodeCount uninitliased by initliasing it to zero. Also, add
an additional check for ACPI version. This fixes a crash running on
kvmtool.

Signed-off-by: Edward Pickup <edward.pickup@...>
---

Change can be seen at https://github.com/edpickup/edk2/tree/2322_rmrnodecount_uninitialised_v1

DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index 40d99162cc610de2d0c2f0a5fff6e457c08d07fb..f28973c1a8620aa5b756e85af1b46ebfaf018839 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -2107,6 +2107,8 @@ BuildIortTable (
ASSERT (AcpiTableInfo->TableGeneratorId == This->GeneratorID);

ASSERT (AcpiTableInfo->AcpiTableSignature == This->AcpiTableSignature);


+ RmrNodeCount = 0;

+

if ((AcpiTableInfo->AcpiTableRevision < This->MinAcpiTableRevision) ||

(AcpiTableInfo->AcpiTableRevision > This->AcpiTableRevision))

{

@@ -2714,7 +2716,10 @@ BuildIortTable (
}

}


- if (RmrNodeCount > 0) {

+ if ((AcpiTableInfo->AcpiTableRevision >=

+ EFI_ACPI_IO_REMAPPING_TABLE_REVISION_05) &&

+ (RmrNodeCount > 0))

+ {

Status = AddRmrNodes (

This,

CfgMgrProtocol,

Join devel@edk2.groups.io to automatically receive all group messages.