audk/ArmPkg/Drivers/MmCommunicationDxe
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
..
MmCommunicate.h ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MmCommunication.c ArmPkg: MmCommunicationDxe: Update MM communicate `MessageLength` check 2022-01-27 02:16:17 +00:00
MmCommunication.inf ArmPkg: Fix Ecc error 10014 in MmCommunicationDxe 2021-04-15 19:53:39 +00:00