audk/MdeModulePkg/Library
lzeng14 5e5bb2a9ba 1. Fix TOCTOU issue in VariableSmm, FtwSmm, FpdtSmm, SmmCorePerformance SMM handler. For VariableSmm, pre-allocate a mVariableBufferPayload buffer with mVariableBufferPayloadSize(match with mVariableBufferPayloadSize in VariableSmmRuntimeDxe) to hold communicate buffer payload to avoid TOCTOU issue.
2. Add check to ensure CommBufferPayloadSize not exceed mVariableBufferPayloadSize or is enough to hold function structure in VariableSmm and FtwSmm.
3. Align FtwGetLastWrite() in FaultTolerantWriteSmmDxe.c to FtwGetLastWrite() in FaultTolerantWrite.c.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14325 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-07 05:38:32 +00:00
..
BasePlatformHookLibNull Add generic SerialPortLib instance for 16550 UARTs configured through PCDs. Depends on new library class called PlatformHookLib to perform platform specific initialization of the UART. 2010-12-18 01:02:59 +00:00
BaseResetSystemLibNull Update the copyright notice format 2010-04-24 09:49:11 +00:00
BaseSerialPortLib16550 When SerialPortWrite() is called with a non-NULL Buffer and NumberOfBytes is passed in as 0, just do a flush. 2012-09-10 02:32:45 +00:00
CpuExceptionHandlerLibNull 1. Introduced CPU Exception Handler Library to provide the CPU exception handlers and add one NULL library instance. 2012-03-15 05:20:41 +00:00
DebugAgentLibNull 1. Add init flag DEBUG_AGENT_INIT_DXE_AP. 2010-07-19 02:26:09 +00:00
DxeCapsuleLibNull Add UEFI_APPLICATION module type support for the capsule lib. 2011-08-25 05:37:55 +00:00
DxeCoreMemoryAllocationLib Update the copyright notice format 2010-04-24 09:49:11 +00:00
DxeCorePerformanceLib Optimize the log entry search algorithm to save boot performance. 2012-05-29 05:02:43 +00:00
DxeCrc32GuidedSectionExtractLib Add core FFS3 support, ExtractGuidedSectionLib/GuidedSectionExtractionLib/PiFirmwareFile.h. 2011-10-27 08:45:50 +00:00
DxeDebugPrintErrorLevelLib Add a GUIDed HOB to init Debug Print error level earlier in DXE. Add NULL PEIM library to init HOB. 2011-10-08 21:00:13 +00:00
DxeDpcLib For libraries that have multiple module types support, just define a [Depex] section for specified module types that are permitted to have a [Depex] section. 2011-07-27 08:54:57 +00:00
DxeIpIoLib Add a UNION definition (IP_IO_IP_PROTOOCL) for EFI_IP4/6_PROTOCOL and change IP_IO structure using this UNION to point the special IP Protocol. 2010-06-13 08:18:10 +00:00
DxeNetLib Update dual network stack drivers to produce multiple Driver Binding Protocol. 2013-04-25 01:33:43 +00:00
DxePerformanceLib Add new extension PerformanceLib APIs to store ID info. 2012-04-24 09:12:36 +00:00
DxePrintLibPrint2Protocol Add Missing invocations to VA_END() for VA_START(). 2012-02-01 06:06:08 +00:00
DxeReportStatusCodeLib Roll back the change which doesn't call LocateProtocol when TPL is TPL_NOTIFY because it may cause certain status code get lost in some rare case. 2011-11-30 01:53:13 +00:00
DxeSecurityManagementLib Update SecurityStub SAP protocol to support SecureHandler and SecureHandler2 both. 2013-02-01 05:34:19 +00:00
DxeSmmPerformanceLib Add new extension PerformanceLib APIs to store ID info. 2012-04-24 09:12:36 +00:00
DxeTcpIoLib Enhance the code to avoid the potential of return address of local variable to output structure. 2011-01-17 05:54:13 +00:00
DxeUdpIoLib 1. Fix a bug in PXE driver that the PXE boot do not restart if a new boot option on the different IP stack is selected. 2012-10-17 08:23:41 +00:00
LockBoxNullLib MdeModulePkg: Add SMM LockBox 2011-07-19 20:47:28 +00:00
OemHookStatusCodeLibNull Update the copyright notice format 2010-04-24 09:49:11 +00:00
PeiDebugPrintHobLib Add a GUIDed HOB to init Debug Print error level earlier in DXE. Add NULL PEIM library to init HOB. 2011-10-08 21:00:13 +00:00
PeiPerformanceLib Optimize the log entry search algorithm to save boot performance. 2012-05-29 05:02:43 +00:00
PeiRecoveryLibNull Update the copyright notice format 2010-04-24 09:49:11 +00:00
PeiReportStatusCodeLib 1. Rollback the changing on replacing MAX_EXTENDED_DATA_SIZE by EFI_STATUS_CODE_DATA_MAX_SIZE, 2010-11-23 07:50:31 +00:00
PeiS3LibNull Update the copyright notice format 2010-04-24 09:49:11 +00:00
PiDxeS3BootScriptLib The unit of Duration for S3BootScriptSaveMemPoll() is us, but not ns, so update BootScriptExecuteMemPoll() to use MicroSecondDelay() instead of NanoSecondDelay(), and update BootScriptWriteMemPoll() to use S3BootScriptSaveMemPoll() correctly with possible minimum deviation. 2013-01-15 05:18:19 +00:00
PiSmmCoreMemoryAllocationLib Enhance PiSmmCoreMemoryAllocationLib Free function implementation to call gSmst or gBS Free service according to the buffer in or out of SMRAM range. 2010-07-28 01:08:13 +00:00
PiSmmCoreSmmServicesTableLib Update the copyright notice format 2010-04-24 09:49:11 +00:00
RuntimeDxeReportStatusCodeLib To be consistent with PeiReportStatusCodeLib and DxeReportStatusCode, use MAX_EXTENDED_DATA_SIZE (0x200) as the local max buffer size in RuntimeDxeReportStatusCodeLib. 2012-06-12 04:46:33 +00:00
SmmCorePerformanceLib 1. Fix TOCTOU issue in VariableSmm, FtwSmm, FpdtSmm, SmmCorePerformance SMM handler. For VariableSmm, pre-allocate a mVariableBufferPayload buffer with mVariableBufferPayloadSize(match with mVariableBufferPayloadSize in VariableSmmRuntimeDxe) to hold communicate buffer payload to avoid TOCTOU issue. 2013-05-07 05:38:32 +00:00
SmmCorePlatformHookLibNull 1. Add two performance measurement points for SMM performance measurement; 2011-08-16 02:58:20 +00:00
SmmLockBoxLib correct license header. 2012-01-15 11:21:18 +00:00
SmmPerformanceLib Add new extension PerformanceLib APIs to store ID info. 2012-04-24 09:12:36 +00:00
SmmReportStatusCodeLib Remove UefiDriverEntryPoint from [LibraryClasses] section. Library implementations should never link against an entry point lib. Only modules implementation should link against an entry point lib. 2010-12-17 22:47:06 +00:00
UefiHiiLib Add new HiiLib API HiiCreateGotoExOpCode() to create UEFI231 IFR REF, REF2, REF3, and REF4 opcode. 2013-02-27 02:37:27 +00:00
UefiHiiServicesLib Update the copyright notice format 2010-04-24 09:49:11 +00:00