goto EXIT;\r
}\r
\r
+ //\r
+ // The MemoryLoadFence() call here is to ensure the previous range/content\r
+ // checks for the CommBuffer have been completed before the subsequent\r
+ // consumption of the CommBuffer content.\r
+ //\r
+ MemoryLoadFence ();\r
if (SmmVariableHeader->NameSize < sizeof (CHAR16) || SmmVariableHeader->Name[SmmVariableHeader->NameSize/sizeof (CHAR16) - 1] != L'\0') {\r
//\r
// Make sure VariableName is A Null-terminated string.\r
goto EXIT;\r
}\r
\r
+ //\r
+ // The MemoryLoadFence() call here is to ensure the previous range/content\r
+ // checks for the CommBuffer have been completed before the subsequent\r
+ // consumption of the CommBuffer content.\r
+ //\r
+ MemoryLoadFence ();\r
if (SmmVariableHeader->NameSize < sizeof (CHAR16) || SmmVariableHeader->Name[SmmVariableHeader->NameSize/sizeof (CHAR16) - 1] != L'\0') {\r
//\r
// Make sure VariableName is A Null-terminated string.\r
goto EXIT;\r
}\r
\r
+ //\r
+ // The MemoryLoadFence() call here is to ensure the previous range/content\r
+ // checks for the CommBuffer have been completed before the subsequent\r
+ // consumption of the CommBuffer content.\r
+ //\r
+ MemoryLoadFence ();\r
if (CommVariableProperty->NameSize < sizeof (CHAR16) || CommVariableProperty->Name[CommVariableProperty->NameSize/sizeof (CHAR16) - 1] != L'\0') {\r
//\r
// Make sure VariableName is A Null-terminated string.\r