On Thu, 25 Feb 2021 at 22:41, Sami Mujawar wrote: > The following patches added support for StandaloneMM using FF-A: > 9da5ee116a28 ArmPkg: Allow FF-A calls to set memory region's attributes > 0e43e02b9bd8 ArmPkg: Allow FF-A calls to get memory region's attributes > > However, in the error handling logic for the Get/Set Memory attributes, > the CLANG compiler reports that a status variable could be used without > initialisation. This issue is a false positive and is not seen with GCC. > > The Get/Set Memory attributes operation is atomic and therefore an > FFA_INTERRUPT or FFA_SUCCESS response is not expected in response > to FFA_MSG_SEND_DIRECT_REQ. So the remaining cases that could occur > are: > - the target sends FFA_MSG_SEND_DIRECT_RESP with a success or > failure code. > or > - FFA_MSG_SEND_DIRECT_REQ transmission failure. > > Therefore, > - reorder the error handling conditions such that it prevents the > uninitialised variable issue being flagged by CLANG. > - move the repetitive code to a static helper function and add > documentation at the appropriate places. > - fix error handling in functions that invoke GetMemoryPermissions(). > > Signed-off-by: Sami Mujawar > --- > The changes can be seen at: > https://github.com/samimujawar/edk2/tree/1657_stmm_ffa_fix_unused_var_v2 Tested the changes on the StandaloneMm image on the Qemu platform. Tested-by: Sughosh Ganu Reviewed-by: Sughosh Ganu -sughosh