[edk2-devel] [PATCH 1/3] MdeModulePkg: Restrict libraries using SMM to x86

Schaefer, Daniel Helmut (DualStudy) posted 3 patches 4 years, 9 months ago
There is a newer version of this series
[edk2-devel] [PATCH 1/3] MdeModulePkg: Restrict libraries using SMM to x86
Posted by Schaefer, Daniel Helmut (DualStudy) 4 years, 9 months ago
The modules:

  MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf
  MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
  MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf

seem like they are independent of SMM but they actually do requires SMM's
LockBoxLib. Ideally they would be rewritten to not require SMM on non x86.

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2549

Signed-off-by: Daniel Schaefer <daniel.schaefer@hpe.com>
Cc: Abner Chang <abner.chang@hpe.com>
Cc: Gilbert Chen <gilbert.chen@hpe.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
---
 MdeModulePkg/MdeModulePkg.dsc | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index f7dbb27ce25d..fc8c3976cca5 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -109,6 +109,8 @@ [LibraryClasses.common.PEIM]
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf

   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf

   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf

+

+[LibraryClasses.IA86.PEIM, LibraryClasses.X64.PEIM]

   LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf

 

 [LibraryClasses.common.DXE_CORE]

@@ -228,7 +230,6 @@ [Components]
   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf

   MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf

   MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf

-  MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf

   MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf

   MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf

   MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf

@@ -251,7 +252,6 @@ [Components]
   MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf

   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf

   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf

-  MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf

   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf

   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf

   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf

@@ -395,7 +395,6 @@ [Components]
     <LibraryClasses>

       LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf

   }

-  MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf

   MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf

   MdeModulePkg/Universal/SectionExtractionDxe/SectionExtractionDxe.inf {

     <LibraryClasses>

@@ -447,6 +446,8 @@ [Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
 [Components.IA32, Components.X64]

   MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf

   MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf

+  MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf

+  MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf

   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf

   MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf

   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {

@@ -478,6 +479,7 @@ [Components.IA32, Components.X64]
   MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf

   MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaArchCustomDecompressLib.inf

   MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf

+  MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf

   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf

   MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf

   MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf

@@ -487,6 +489,7 @@ [Components.IA32, Components.X64]
   MdeModulePkg/Universal/SmmCommunicationBufferDxe/SmmCommunicationBufferDxe.inf

   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf

 

+

 [Components.X64]

   MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf

 

-- 
2.25.0


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#54730): https://edk2.groups.io/g/devel/message/54730
Mute This Topic: https://groups.io/mt/71474828/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 1/3] MdeModulePkg: Restrict libraries using SMM to x86
Posted by Michael D Kinney 4 years, 9 months ago

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On
> Behalf Of Schaefer, Daniel Helmut (DualStudy)
> Sent: Saturday, February 22, 2020 8:59 AM
> To: devel@edk2.groups.io
> Cc: Abner Chang <abner.chang@hpe.com>; Gilbert Chen
> <gilbert.chen@hpe.com>; Leif Lindholm
> <leif@nuviainc.com>; Dong, Eric <eric.dong@intel.com>;
> Ni, Ray <ray.ni@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>; Bi, Dandan <dandan.bi@intel.com>;
> Gao, Liming <liming.gao@intel.com>
> Subject: [edk2-devel] [PATCH 1/3] MdeModulePkg:
> Restrict libraries using SMM to x86
> 
> The modules:
> 
>   MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf
>   MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTabl
> eDxe/FirmwarePerformanceDxe.inf
> 
> seem like they are independent of SMM but they actually
> do requires SMM's
> LockBoxLib. Ideally they would be rewritten to not
> require SMM on non x86.
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2549
> 
> Signed-off-by: Daniel Schaefer
> <daniel.schaefer@hpe.com>
> Cc: Abner Chang <abner.chang@hpe.com>
> Cc: Gilbert Chen <gilbert.chen@hpe.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> ---
>  MdeModulePkg/MdeModulePkg.dsc | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/MdeModulePkg/MdeModulePkg.dsc
> b/MdeModulePkg/MdeModulePkg.dsc
> index f7dbb27ce25d..fc8c3976cca5 100644
> --- a/MdeModulePkg/MdeModulePkg.dsc
> +++ b/MdeModulePkg/MdeModulePkg.dsc
> @@ -109,6 +109,8 @@ [LibraryClasses.common.PEIM]
>    HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> 
> 
> 
> MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationL
> ib/PeiMemoryAllocationLib.inf
> 
> 
> 
> ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuided
> SectionLib/PeiExtractGuidedSectionLib.inf
> 
> 
> +
> 
> 
> +[LibraryClasses.IA86.PEIM, LibraryClasses.X64.PEIM]

Should be IA32 instead of IA86

> 
> 
> 
> LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBo
> xPeiLib.inf
> 
> 
> 
> 
> 
>  [LibraryClasses.common.DXE_CORE]
> 
> 
> @@ -228,7 +230,6 @@ [Components]
>    MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
> 
> 
> 
> MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/In
> compatiblePciDeviceSupportDxe.inf
> 
> 
>    MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
> 
> 
> -  MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
> 
> 
>    MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
> 
> 
>    MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf
> 
> 
> 
> MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf
> 
> 
> @@ -251,7 +252,6 @@ [Components]
> 
> MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDx
> e.inf
> 
> 
>    MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
> 
> 
> 
> MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.
> inf
> 
> 
> -  MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf
> 
> 
>    MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
> 
> 
>    MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
> 
> 
>    MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> 
> 
> @@ -395,7 +395,6 @@ [Components]
>      <LibraryClasses>
> 
> 
> 
> LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxN
> ullLib.inf
> 
> 
>    }
> 
> 
> -
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTabl
> eDxe/FirmwarePerformanceDxe.inf
> 
> 
> 
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDx
> e/BootGraphicsResourceTableDxe.inf
> 
> 
> 
> MdeModulePkg/Universal/SectionExtractionDxe/SectionExtr
> actionDxe.inf {
> 
> 
>      <LibraryClasses>
> 
> 
> @@ -447,6 +446,8 @@ [Components.IA32, Components.X64,
> Components.ARM, Components.AARCH64]
>  [Components.IA32, Components.X64]
> 
> 
> 
> MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.
> inf
> 
> 
> 
> MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandl
> erProfileInfo.inf
> 
> 
> +  MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf
> 
> 
> +  MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf
> 
> 
>    MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
> 
> 
>    MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
> 
> 
> 
> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.
> inf {
> 
> 
> @@ -478,6 +479,7 @@ [Components.IA32, Components.X64]
> 
> MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHand
> lerProfileLib.inf
> 
> 
> 
> MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaArchCu
> stomDecompressLib.inf
> 
> 
> 
> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootS
> criptExecutorDxe.inf
> 
> 
> +
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTabl
> eDxe/FirmwarePerformanceDxe.inf
> 
> 
> 
> MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateD
> xe.inf
> 
> 
> 
> MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveSta
> te.inf
> 
> 
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTabl
> eSmm/FirmwarePerformanceSmm.inf
> 
> 
> @@ -487,6 +489,7 @@ [Components.IA32, Components.X64]
> 
> MdeModulePkg/Universal/SmmCommunicationBufferDxe/SmmCom
> municationBufferDxe.inf
> 
> 
> 
> MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
> 
> 
> 
> 
> 
> +
> 
> 
>  [Components.X64]
> 
> 
>    MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
> 
> 
> 
> 
> 
> --
> 2.25.0
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#54749): https://edk2.groups.io/g/devel/message/54749
Mute This Topic: https://groups.io/mt/71474828/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-