[edk2-devel] [PATCH 07/35] MdeModulePkg: fix cast in GetModuleInfoFromHandle() calls
Dandan Bi
dandan.bi at intel.com
Thu Sep 19 01:46:45 UTC 2019
Reviewed-by: Dandan Bi <dandan.bi at intel.com>
Thanks,
Dandan
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek at redhat.com]
> Sent: Wednesday, September 18, 2019 3:49 AM
> To: edk2-devel-groups-io <devel at edk2.groups.io>
> Cc: Bi, Dandan <dandan.bi at intel.com>; Dong, Eric <eric.dong at intel.com>;
> Wu, Hao A <hao.a.wu at intel.com>; Wang, Jian J <jian.j.wang at intel.com>;
> Gao, Liming <liming.gao at intel.com>; Ni, Ray <ray.ni at intel.com>
> Subject: [PATCH 07/35] MdeModulePkg: fix cast in
> GetModuleInfoFromHandle() calls
>
> GetModuleInfoFromHandle() takes an EFI_HANDLE -- (VOID*) -- as first
> parameter, but InsertFpdtRecord() passes (EFI_HANDLE*) -- (VOID**).
> (VOID**) converts silently to (VOID*), which is why the wrong cast is masked.
>
> Note that the *value* that is passed is alright -- therefore this patch does not
> change behavior --, it's just semantically wrong to pass an
> (EFI_HANDLE*) where an EFI_HANDLE is expected.
>
> Cc: Dandan Bi <dandan.bi at intel.com>
> Cc: Eric Dong <eric.dong at intel.com>
> Cc: Hao A Wu <hao.a.wu at intel.com>
> Cc: Jian J Wang <jian.j.wang at intel.com>
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
> ---
>
> Notes:
> lightly tested, as DxeCorePerformanceLib is linked into ArmVirtQemu's
> DxeCore
>
>
> MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> | 12 ++++++------
> MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLi
> b.c | 8 ++++----
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git
> a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLi
> b.c
> b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLi
> b.c
> index 0d507c445210..f500e20b320b 100644
> ---
> a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLi
> b.c
> +++
> b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLi
> b.c
> @@ -998,7 +998,7 @@ InsertFpdtRecord (
> switch (PerfId) {
> case MODULE_START_ID:
> case MODULE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> //
> // Cache the offset of start image start record and use to update the start
> image end record if needed.
> @@ -1031,7 +1031,7 @@ InsertFpdtRecord (
>
> case MODULE_LOADIMAGE_START_ID:
> case MODULE_LOADIMAGE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> if (PerfId == MODULE_LOADIMAGE_START_ID) {
> mLoadImageCount ++;
> @@ -1071,7 +1071,7 @@ InsertFpdtRecord (
> case MODULE_DB_SUPPORT_END_ID:
> case MODULE_DB_STOP_START_ID:
> case MODULE_DB_STOP_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> if (!PcdGetBool (PcdEdkiiFpdtStringRecordEnableOnly)) {
> FpdtRecordPtr.GuidQwordEvent->Header.Type =
> FPDT_GUID_QWORD_EVENT_TYPE;
> @@ -1085,7 +1085,7 @@ InsertFpdtRecord (
> break;
>
> case MODULE_DB_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> if (!PcdGetBool (PcdEdkiiFpdtStringRecordEnableOnly)) {
> FpdtRecordPtr.GuidQwordStringEvent->Header.Type =
> FPDT_GUID_QWORD_STRING_EVENT_TYPE;
> @@ -1131,7 +1131,7 @@ InsertFpdtRecord (
> case PERF_INMODULE_END_ID:
> case PERF_CROSSMODULE_START_ID:
> case PERF_CROSSMODULE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> if (String != NULL) {
> StringPtr = String;
> } else {
> @@ -1153,7 +1153,7 @@ InsertFpdtRecord (
>
> default:
> if (Attribute != PerfEntry) {
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier,
> + ModuleName, sizeof (ModuleName), &ModuleGuid);
> if (String != NULL) {
> StringPtr = String;
> } else {
> diff --git
> a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformance
> Lib.c
> b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformance
> Lib.c
> index 5f07464c4ec7..b4f22c14ae73 100644
> ---
> a/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformance
> Lib.c
> +++
> b/MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformance
> Lib.c
> @@ -587,7 +587,7 @@ InsertFpdtRecord (
> switch (PerfId) {
> case MODULE_START_ID:
> case MODULE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> //
> // Cache the offset of start image start record and use to update the start
> image end record if needed.
> @@ -612,7 +612,7 @@ InsertFpdtRecord (
>
> case MODULE_LOADIMAGE_START_ID:
> case MODULE_LOADIMAGE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> StringPtr = ModuleName;
> if (PerfId == MODULE_LOADIMAGE_START_ID) {
> mLoadImageCount++;
> @@ -669,7 +669,7 @@ InsertFpdtRecord (
> case PERF_INMODULE_END_ID:
> case PERF_CROSSMODULE_START_ID:
> case PERF_CROSSMODULE_END_ID:
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier, ModuleName,
> + sizeof (ModuleName), &ModuleGuid);
> if (String != NULL) {
> StringPtr = String;
> } else {
> @@ -691,7 +691,7 @@ InsertFpdtRecord (
>
> default:
> if (Attribute != PerfEntry) {
> - GetModuleInfoFromHandle ((EFI_HANDLE *)CallerIdentifier,
> ModuleName, sizeof (ModuleName), &ModuleGuid);
> + GetModuleInfoFromHandle ((EFI_HANDLE)CallerIdentifier,
> + ModuleName, sizeof (ModuleName), &ModuleGuid);
> if (String != NULL) {
> StringPtr = String;
> } else {
> --
> 2.19.1.3.g30247aa5d201
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#47517): https://edk2.groups.io/g/devel/message/47517
Mute This Topic: https://groups.io/mt/34180207/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