From f6406f94dca148f4492ddd1679ada73fe4ac323b Mon Sep 17 00:00:00 2001 From: Ruiyu Ni Date: Fri, 1 Jun 2018 15:18:02 +0800 Subject: [PATCH] MdePkg/UefiRuntimeLib: Do not allow to be linked by DXE driver 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 Cc: Liming Gao Reviewed-by: Star Zeng --- MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf b/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf index d053da545a..8f46495fc5 100644 --- a/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf +++ b/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf @@ -5,7 +5,7 @@ # EVT_SIGNAL_EXIT_BOOT_SERVICES event, to provide runtime services. # This instance also supports SAL drivers for better performance. # -# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -24,7 +24,7 @@ FILE_GUID = b1ee6c28-54aa-4d17-b705-3e28ccb27b2e MODULE_TYPE = DXE_RUNTIME_DRIVER VERSION_STRING = 1.0 - LIBRARY_CLASS = UefiRuntimeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_CORE DXE_DRIVER DXE_SMM_DRIVER + LIBRARY_CLASS = UefiRuntimeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER CONSTRUCTOR = RuntimeDriverLibConstruct DESTRUCTOR = RuntimeDriverLibDeconstruct