[edk2] [Patch] UefiCpuPkg/CpuCommonFeaturesLib: Add check for input parameter.

Eric Dong posted 1 patch 7 years, 3 months ago
Failed in applying to current master (apply log)
UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c     | 2 ++
UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c | 2 ++
2 files changed, 4 insertions(+)
[edk2] [Patch] UefiCpuPkg/CpuCommonFeaturesLib: Add check for input parameter.
Posted by Eric Dong 7 years, 3 months ago
The ConfigData parameter initialized in *GetConfigData function should not be NULL in
later *Support, *Initilize function, so just add ASSERT code check in these functions.

Cc: Ming Shao <ming.shao@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Dong <eric.dong@intel.com>
---
 UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c     | 2 ++
 UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c b/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
index 178bfb5..880f092 100644
--- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
+++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
@@ -68,6 +68,7 @@ AesniSupport (
       IS_XEON_E7_PROCESSOR (CpuInfo->DisplayFamily, CpuInfo->DisplayModel) ||
       IS_XEON_PHI_PROCESSOR (CpuInfo->DisplayFamily, CpuInfo->DisplayModel)) {
     MsrFeatureConfig = (MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER *) ConfigData;
+    ASSERT (MsrFeatureConfig != NULL);
     MsrFeatureConfig[ProcessorNumber].Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_FEATURE_CONFIG);
     return (CpuInfo->CpuIdVersionInfoEcx.Bits.AESNI == 1);
   }
@@ -112,6 +113,7 @@ AesniInitialize (
   //
   if (CpuInfo->ProcessorInfo.Location.Thread == 0) {
     MsrFeatureConfig = (MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER *) ConfigData;
+    ASSERT (MsrFeatureConfig != NULL);
     if ((MsrFeatureConfig[ProcessorNumber].Bits.AESConfiguration & BIT0) == 0) {
       CPU_REGISTER_TABLE_WRITE_FIELD (
         ProcessorNumber,
diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
index 8a12080..b42f5de 100644
--- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
+++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
@@ -120,6 +120,7 @@ ProcTraceSupport (
   // Check if ProcTraceMemorySize option is enabled (0xFF means disable by user)
   //
   ProcTraceData = (PROC_TRACE_DATA *) ConfigData;
+  ASSERT (ProcTraceData != NULL);
   if ((ProcTraceData->ProcTraceMemSize > RtitTopaMemorySize128M) ||
       (ProcTraceData->ProcTraceOutputScheme > RtitOutputSchemeToPA)) {
     return FALSE;
@@ -191,6 +192,7 @@ ProcTraceInitialize (
   RTIT_TOPA_TABLE_ENTRY                *TopaEntryPtr;
 
   ProcTraceData = (PROC_TRACE_DATA *) ConfigData;
+  ASSERT (ProcTraceData != NULL);
 
   MemRegionBaseAddr = 0;
   FirstIn = FALSE;
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] UefiCpuPkg/CpuCommonFeaturesLib: Add check for input parameter.
Posted by Ni, Ruiyu 7 years, 3 months ago
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Eric Dong
Sent: Tuesday, September 26, 2017 10:48 AM
To: edk2-devel@lists.01.org
Cc: Shao, Ming <ming.shao@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>
Subject: [edk2] [Patch] UefiCpuPkg/CpuCommonFeaturesLib: Add check for input parameter.

The ConfigData parameter initialized in *GetConfigData function should not be NULL in later *Support, *Initilize function, so just add ASSERT code check in these functions.

Cc: Ming Shao <ming.shao@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Dong <eric.dong@intel.com>
---
 UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c     | 2 ++
 UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c b/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
index 178bfb5..880f092 100644
--- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
+++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/Aesni.c
@@ -68,6 +68,7 @@ AesniSupport (
       IS_XEON_E7_PROCESSOR (CpuInfo->DisplayFamily, CpuInfo->DisplayModel) ||
       IS_XEON_PHI_PROCESSOR (CpuInfo->DisplayFamily, CpuInfo->DisplayModel)) {
     MsrFeatureConfig = (MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER *) ConfigData;
+    ASSERT (MsrFeatureConfig != NULL);
     MsrFeatureConfig[ProcessorNumber].Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_FEATURE_CONFIG);
     return (CpuInfo->CpuIdVersionInfoEcx.Bits.AESNI == 1);
   }
@@ -112,6 +113,7 @@ AesniInitialize (
   //
   if (CpuInfo->ProcessorInfo.Location.Thread == 0) {
     MsrFeatureConfig = (MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER *) ConfigData;
+    ASSERT (MsrFeatureConfig != NULL);
     if ((MsrFeatureConfig[ProcessorNumber].Bits.AESConfiguration & BIT0) == 0) {
       CPU_REGISTER_TABLE_WRITE_FIELD (
         ProcessorNumber,
diff --git a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
index 8a12080..b42f5de 100644
--- a/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
+++ b/UefiCpuPkg/Library/CpuCommonFeaturesLib/ProcTrace.c
@@ -120,6 +120,7 @@ ProcTraceSupport (
   // Check if ProcTraceMemorySize option is enabled (0xFF means disable by user)
   //
   ProcTraceData = (PROC_TRACE_DATA *) ConfigData;
+  ASSERT (ProcTraceData != NULL);
   if ((ProcTraceData->ProcTraceMemSize > RtitTopaMemorySize128M) ||
       (ProcTraceData->ProcTraceOutputScheme > RtitOutputSchemeToPA)) {
     return FALSE;
@@ -191,6 +192,7 @@ ProcTraceInitialize (
   RTIT_TOPA_TABLE_ENTRY                *TopaEntryPtr;
 
   ProcTraceData = (PROC_TRACE_DATA *) ConfigData;
+  ASSERT (ProcTraceData != NULL);
 
   MemRegionBaseAddr = 0;
   FirstIn = FALSE;
--
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel