audk/ArmPkg
Kun Qin 8cc5590eab ArmPkg: MmCommunicationDxe: Update MM communicate `MessageLength` check
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3751

Current MM communicate routine from ArmPkg would conduct few checks prior
to proceeding with SMC calls. However, the inspection step is different
from PI specification.

This patch updated MM communicate input argument inspection routine to
assure that "if the `MessageLength` is zero, or too large for the MM
implementation to manage, the MM implementation must update the
`MessageLength` to reflect the size of the `Data` buffer that it can
tolerate", as described by `EFI_MM_COMMUNICATION_PROTOCOL.Communicate()`
section in PI specification.

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael Kubacki <michael.kubacki@microsoft.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>

Signed-off-by: Kun Qin <kuqin12@gmail.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2022-01-27 02:16:17 +00:00
..
Drivers ArmPkg: MmCommunicationDxe: Update MM communicate `MessageLength` check 2022-01-27 02:16:17 +00:00
Filesystem/SemihostFs ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Include ArmPkg/ProcessorSubClassDxe: Get serial and part number from OemMiscLib 2021-12-16 18:08:22 +00:00
Library ArmPkg: Update SMC calls to use the new ArmCallSmc0/1/2/3 functions 2021-12-14 11:30:26 +00:00
Universal/Smbios ArmPkg/ProcessorSubClassDxe: Get serial and part number from OemMiscLib 2021-12-16 18:08:22 +00:00
ArmPkg.ci.yaml ArmPkg: Update YAML to ignore specific ECC files/errors 2021-11-30 14:19:07 +00:00
ArmPkg.dec ArmPkg: Implement PlatformBootManagerLib for LinuxBoot 2021-10-23 08:38:20 +00:00
ArmPkg.dsc ArmPkg: Implement PlatformBootManagerLib for LinuxBoot 2021-10-23 08:38:20 +00:00