]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg/UefiRuntimeLib: Do not allow to be linked by DXE driver
authorRuiyu Ni <ruiyu.ni@intel.com>
Fri, 1 Jun 2018 07:18:02 +0000 (15:18 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Tue, 5 Jun 2018 05:49:16 +0000 (13:49 +0800)
When UefiRuntimeLib links to a DXE driver, its constructor
still registers a Virtual Address Change event. The event callback
will get called when RT.SetVirtualAddressMap() is called from OS.
But when the driver is a DXE driver, the memory occupied by the
callback function might be zeroed or used by OS since the BS type
memory is free memory when entering to RT phase.

The patch reverts commit 97511979b4fdd84cf7cd51e43c22dc03e79bd4f3
"MdePkg/UefiRuntimeLib: Support more module types."
It makes sure that DXE driver cannot link to this library.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

index d053da545abb936b51b8c0e114dbf65424f3b37f..8f46495fc5f8978cddd2a5ff7a184a4693daa9bd 100644 (file)
@@ -5,7 +5,7 @@
 #  EVT_SIGNAL_EXIT_BOOT_SERVICES event, to provide runtime services.\r
 # This instance also supports SAL drivers for better performance.\r
 #\r
-# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -24,7 +24,7 @@
   FILE_GUID                      = b1ee6c28-54aa-4d17-b705-3e28ccb27b2e\r
   MODULE_TYPE                    = DXE_RUNTIME_DRIVER\r
   VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = UefiRuntimeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_CORE DXE_DRIVER DXE_SMM_DRIVER \r
+  LIBRARY_CLASS                  = UefiRuntimeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER\r
 \r
   CONSTRUCTOR                    = RuntimeDriverLibConstruct\r
   DESTRUCTOR                     = RuntimeDriverLibDeconstruct\r