[edk2-devel] [edk2-redfish-client][PATCH 1/4] RedfishClientPkg: Fix GCC build error
Nickle Wang via groups.io
nicklew=nvidia.com at groups.io
Fri May 12 03:46:55 UTC 2023
Fix below GCC build error:
1) "Head" dereference issue.
2) "BooleanArrayBuffer" uninitialized variable issue.
3) Multiple definition of mRedfishVariableGuid.
4) Multiple definition of medfishResourceConfigProtocolHandle.
Signed-off-by: Nickle Wang <nicklew at nvidia.com>
Cc: Abner Chang <abner.chang at amd.com>
Cc: Igor Kulchytskyy <igork at ami.com>
---
RedfishClientPkg/RedfishClientPkg.dec | 4 ++++
.../RedfishConfigLangMapDxe.inf | 2 ++
RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf | 2 ++
RedfishClientPkg/Include/RedfishBase.h | 4 ++--
.../EdkIIRedfishResourceConfigLib.c | 11 ++++++-----
.../RedfishFeatureUtilityLib.c | 5 +++--
.../RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c | 9 +++++----
RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c | 9 +++++----
8 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/RedfishClientPkg/RedfishClientPkg.dec b/RedfishClientPkg/RedfishClientPkg.dec
index 67929341..d3c97ecf 100644
--- a/RedfishClientPkg/RedfishClientPkg.dec
+++ b/RedfishClientPkg/RedfishClientPkg.dec
@@ -2,6 +2,7 @@
# Redfish Client Package
#
# (C) Copyright 2021-2022 Hewlett Packard Enterprise Development LP<BR>
+# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
@@ -51,6 +52,9 @@
gEfiRedfishClientFeatureReadyToProvisioningGuid = { 0x77E4FC1C, 0x2428, 0x47EE, { 0x9E, 0xEC, 0x8B, 0x77, 0xEF, 0x9D, 0x4E, 0xF0 } }
gEfiRedfishClientFeatureAfterProvisioningGuid = { 0xE547CB6F, 0x306F, 0x4226, { 0xAB, 0x70, 0xA0, 0x6E, 0x26, 0xF1, 0x2E, 0xD0 } }
+ ## Include/RedfishBase.h
+ gEfiRedfishClientVariableGuid = { 0x91c46a3d, 0xed1a, 0x477b, { 0xa5, 0x33, 0x87, 0x2d, 0xcd, 0xb0, 0xfc, 0xc1 } }
+
[PcdsFixedAtBuild]
gEfiRedfishClientPkgTokenSpaceGuid.PcdMaxRedfishSchemaStringSize|32|UINT32|0x10000001
gEfiRedfishClientPkgTokenSpaceGuid.PcdMaxRedfishSchemaVersionSize|8|UINT32|0x10000002
diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf
index 9f195338..821f0552 100644
--- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf
+++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf
@@ -1,6 +1,7 @@
## @file
#
# (C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR>
+# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -41,6 +42,7 @@
[Guids]
gEfiEventExitBootServicesGuid ## CONSUMED ##
+ gEfiRedfishClientVariableGuid ## CONSUMED ##
[Depex]
TRUE
diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf
index e29a1045..4aecdb41 100644
--- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf
+++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf
@@ -1,6 +1,7 @@
## @file
#
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
+# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -40,6 +41,7 @@
[Guids]
gEfiEventExitBootServicesGuid ## CONSUMES ## Event
+ gEfiRedfishClientVariableGuid ## CONSUMED ##
[Depex]
TRUE
diff --git a/RedfishClientPkg/Include/RedfishBase.h b/RedfishClientPkg/Include/RedfishBase.h
index 1abe9517..753e9ed2 100644
--- a/RedfishClientPkg/Include/RedfishBase.h
+++ b/RedfishClientPkg/Include/RedfishBase.h
@@ -2,6 +2,7 @@
Redfish base header file.
(C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -16,7 +17,6 @@
///
/// This GUID is used for an EFI Variable that stores the Redfish data.
///
-EFI_GUID mRedfishVariableGuid = { 0x91c46a3d, 0xed1a, 0x477b, { 0xa5, 0x33, 0x87, 0x2d, 0xcd, 0xb0, 0xfc, 0xc1 }
-};
+extern EFI_GUID gEfiRedfishClientVariableGuid;
#endif
diff --git a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c
index b1eaad75..521e2edb 100644
--- a/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c
+++ b/RedfishClientPkg/Library/EdkIIRedfishResourceConfigLib/EdkIIRedfishResourceConfigLib.c
@@ -2,6 +2,7 @@
Redfish resource config library implementation
(C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -17,7 +18,7 @@
#include <Library/RedfishPlatformConfigLib.h>
EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL *mRedfishResourceConfigProtocol = NULL;
-EFI_HANDLE medfishResourceConfigProtocolHandle;
+EFI_HANDLE mCachedHandle;
EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL mRedfishFeatureInterchangeData;
REDFISH_SCHEMA_INFO mSchemaInfoCache;
@@ -256,7 +257,7 @@ GetRedfishResourceConfigProtocol (
(AsciiStrCmp (Schema->Errata, mSchemaInfoCache.Errata) == 0))
{
if (Handle != NULL) {
- *Handle = medfishResourceConfigProtocolHandle;
+ *Handle = mCachedHandle;
}
return mRedfishResourceConfigProtocol;
@@ -302,8 +303,8 @@ GetRedfishResourceConfigProtocol (
}
if (Found) {
- medfishResourceConfigProtocolHandle = HandleBuffer[Index];
- mRedfishResourceConfigProtocol = Protocol;
+ mCachedHandle = HandleBuffer[Index];
+ mRedfishResourceConfigProtocol = Protocol;
CopyMem (&mSchemaInfoCache, Schema, sizeof (REDFISH_SCHEMA_INFO));
if (Handle != NULL) {
*Handle = HandleBuffer[Index];
@@ -379,7 +380,7 @@ EdkIIRedfishResourceSetConfigureLang (
EDKII_REDFISH_FEATURE_INTERCHANGE_DATA_PROTOCOL *Interface;
Status = gBS->HandleProtocol (
- medfishResourceConfigProtocolHandle,
+ mCachedHandle,
&gEdkIIRedfishFeatureInterchangeDataProtocolGuid,
(VOID **)&Interface
);
diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c
index b93a9e18..e87af3d5 100644
--- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c
+++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtilityLib.c
@@ -2,6 +2,7 @@
Redfish feature utility library implementation
(C) Copyright 2020-2022 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -1971,7 +1972,7 @@ RedfishGetUri (
//
// String which has no ConfigLang remaining
//
- if (Head != '\0') {
+ if (Head[0] != '\0') {
StrCatS (ResultStr, MAX_REDFISH_URL_LEN, Head);
}
@@ -3234,7 +3235,7 @@ AddRedfishBooleanArray (
RedfishCS_bool_Array *BooleanArrayBuffer;
RedfishCS_bool_Array *PreArrayBuffer;
- if ((Head == NULL) || (BooleanArrayBuffer == NULL) || (ArraySize == 0)) {
+ if ((Head == NULL) || (BooleanArray == NULL) || (ArraySize == 0)) {
return EFI_INVALID_PARAMETER;
}
diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c
index cea61f90..d1a73576 100644
--- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c
+++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c
@@ -1,6 +1,7 @@
/** @file
(C) Copyright 2022 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -414,16 +415,16 @@ SaveConfigLangMapList (
//
Status = GetVariable2 (
VariableName,
- &mRedfishVariableGuid,
+ &gEfiRedfishClientVariableGuid,
(VOID *)&Data,
NULL
);
if (!EFI_ERROR (Status)) {
FreePool (Data);
- gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL);
+ gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL);
}
- return gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData);
+ return gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData);
}
/**
@@ -459,7 +460,7 @@ InitialConfigLangMapList (
//
Status = GetVariable2 (
VariableName,
- &mRedfishVariableGuid,
+ &gEfiRedfishClientVariableGuid,
(VOID *)&VarData,
&VariableSize
);
diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c
index a4233a64..3561c11b 100644
--- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c
+++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c
@@ -1,6 +1,7 @@
/** @file
(C) Copyright 2021-2022 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -401,16 +402,16 @@ SaveETagList (
//
Status = GetVariable2 (
VariableName,
- &mRedfishVariableGuid,
+ &gEfiRedfishClientVariableGuid,
(VOID *)&Data,
NULL
);
if (!EFI_ERROR (Status)) {
FreePool (Data);
- gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL);
+ gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, 0, NULL);
}
- return gRT->SetVariable (VariableName, &mRedfishVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData);
+ return gRT->SetVariable (VariableName, &gEfiRedfishClientVariableGuid, VARIABLE_ATTRIBUTE_NV_BS, VarSize, (VOID *)VarData);
}
/**
@@ -446,7 +447,7 @@ InitialETagList (
//
Status = GetVariable2 (
VariableName,
- &mRedfishVariableGuid,
+ &gEfiRedfishClientVariableGuid,
(VOID *)&VarData,
&VariableSize
);
--
2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104746): https://edk2.groups.io/g/devel/message/104746
Mute This Topic: https://groups.io/mt/98842831/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list