]> git.proxmox.com Git - mirror_edk2.git/commitdiff
StandaloneMmPkg: Zero data structure explicitly
authorAchin Gupta <achin.gupta@arm.com>
Mon, 3 Dec 2018 07:20:54 +0000 (12:50 +0530)
committerAchin Gupta <achin.gupta@arm.com>
Sun, 9 Dec 2018 16:01:27 +0000 (16:01 +0000)
Introduction of the -mstrict-align flag results in GCC attempting
to use memset to zero out the InitMmFoundationSvcArgs structure.
In the absence of this C library function, this patch explicitly
zeroes this data structure prior to use.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Sughosh Ganu <sughosh.ganu@arm.com>
Reviewed-by: Achin Gupta <achin.gupta@arm.com>
StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c

index 20fd0d1f34ba8e960f65780ba511e5f58124c5b2..05ed6c8dd0b51e4a0e8960d35b783c8b1ce93b35 100644 (file)
@@ -224,7 +224,7 @@ _ModuleEntryPoint (
 {\r
   PE_COFF_LOADER_IMAGE_CONTEXT            ImageContext;\r
   EFI_SECURE_PARTITION_BOOT_INFO          *PayloadBootInfo;\r
-  ARM_SVC_ARGS                            InitMmFoundationSvcArgs = {0};\r
+  ARM_SVC_ARGS                            InitMmFoundationSvcArgs;\r
   EFI_STATUS                              Status;\r
   UINT32                                  SectionHeaderOffset;\r
   UINT16                                  NumberOfSections;\r
@@ -299,6 +299,7 @@ _ModuleEntryPoint (
   DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP 0x%lx\n", (UINT64) CpuDriverEntryPoint));\r
 \r
 finish:\r
+  ZeroMem (&InitMmFoundationSvcArgs, sizeof(InitMmFoundationSvcArgs));\r
   InitMmFoundationSvcArgs.Arg0 = ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;\r
   InitMmFoundationSvcArgs.Arg1 = Status;\r
   DelegatedEventLoop (&InitMmFoundationSvcArgs);\r