summaryrefslogtreecommitdiff
path: root/MdeModulePkg
AgeCommit message (Collapse)AuthorFilesLines
2014-04-03Sync patches r15425 and r15426 from main trunk.Jeff Fan1-1/+2
1. Check the parameter before use it. 2. Add missing parameter comment in AddPubKeyInStore() Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15429 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-28Sync patches r15388, r15404, r15405, and r15409 from main trunk.Jeff Fan4-75/+334
1. MdeModulePkg/SecurityPkg Variable: Calculate enough space for PlatformLang and Lang variables and use PcdUefiVariableDefaultLangDeprecate to turn off auto update between PlatformLang and Lang variables. 2. Calculate enough space for 2 variables (public key and variable data) instead of directly setting them 1 by 1. Fixed a bug in public key reclaim(). 3. Remove hide TPM support. 4. SecurityPkg Variable: Add NULL pointer check. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15414 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-28Sync patches r15385, r15386, r15387, r15391, r15393, r15401, r15403, r15407, ↵Jeff Fan8-27/+179
and r15410 from main trunk. 1. Report the setting variable failure to platform through the status code when core cannot handle the error. 2. Report the setting variable failure to platform through the status code when core cannot handle the error. 3. Support load 64 bit image from 32 bit core. Add more enhancement to check invalid PE format. 4. Remove RT attribute for variable LegacyDevOrder. 5. Add check to make sure the data be valid. 6. Remove RT attribute for variable PlatDriOver. 7. Update code logic, remove ASSERT and use error handling. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15413 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-28Sync patch r15351 from main trunk.Jeff Fan1-2/+2
Removes MacString Rt attribute in Ip4Config/Mnp driver. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15411 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-21Sync patch r15357 from main trunk.Jeff Fan2-38/+45
MdeModulePkg PCD: Fix PCD driver to return default data if size mismatch. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15359 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-20Sync patch r15340 from main trunk.Jeff Fan1-13/+25
MdeModulePkg/SecurityPkg Variable: Return error status to avoid inconsistency between PlatformLang and Lang. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15349 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-20Sync patches r15330, r15331 and r15336 from main trunk.Jeff Fan3-14/+14
1. Remove ASSERT check for SetVariable in FirmwarePerformanceDataTableDxe. 2. Add comments to describe PlatformDriOverrideDxe is used for test purpose. 3. Remove ASSERT when SetVariable for ConOutDev/ConInDev/ErrOutDev variables failed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15346 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-20Sync patches r15136 and r15137 from main trunk.Jeff Fan4-163/+343
1. DxeCore is designed to trust input data, so add comments to reminder caller to do check to follow PI specification when necessary. Since LBA_CACHE is DxeCore implementation specific, DxeCore will check it here. 2. CapsulePei coalesce need add more sanity check for each Capsule Fragment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15342 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-20Sync patches r14454, r14455, r14456, r14457, r14458, and r14462 from main trunk.Jeff Fan19-276/+1054
1. MdeModulePkg: Variable drivers robustly handle crashes during Reclaim(). 2. SecurityPkg: Variable drivers robustly handle crashes during Reclaim(). 3. Nt32Pkg: Use FaultTolerantWritePei driver. 4. EmulatorPkg: Use FaultTolerantWritePei driver. 5. OvmfPkg EmuVariableFvbRuntimeDxe: Let FaultTolerantWriteDxe to init working block header. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@15341 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-16Sync patches r14006, r14034 and r14035 from main trunk.vanjeff2-6/+18
1. Base on the value type to get the value for default opcode. 2. Base on the type field to generate numeric opcode. 3. Base on the type field to generate oneof opcode. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14778 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-15Sync patch r14774 from main trunk.vanjeff1-50/+98
Clean the garbage space for the statements nest in subtitle menu. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14775 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-10Sync patch r14760 from main trunk.vanjeff4-25/+66
Just like EhciDxe, do not reset host controller when debug capability is enabled in XhciDxe driver. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14762 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-09Sync patch r14758 from main trunk.vanjeff1-2/+4
Restore the correct cursor status after finish creating the dialog. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14759 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-09Sync patches r14459 and r14751 from main trunk.vanjeff8-109/+109
1. MdeModulePkg/Usb: Update some debug messages' print level to EFI_D_VERBOSE. 2. Fix several DEBUG_ERROR messages that are unnecessarily verbose. Several of these are marked as DEBUG_ERROR when they are really not errors. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14752 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-08Sync patches r14747 and r14748 from main trunk.vanjeff1-56/+91
1. Fix display engine driver paint some menu error. 2. Fix orderedlist opcode shows abnormal. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14749 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-29Sync patches r14735, r14736 and r14737 from main trunk.vanjeff5-350/+643
Fix form flash issue. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14738 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-26Sync patches r14451, r14452, r14453 and r14474 from main trunk.vanjeff5-1170/+2179
Update HiiDataBase and UefiHiiLib to support Name/Value varstore. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14732 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-26Sync patch r12929 from main trunk.vanjeff2-2/+2
Correct definition to follow spec. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14729 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-26Sync patches r14614, r14624, r14625, r14673 and r14727 from main trunk.vanjeff6-95/+326
1. Update sample code for date/time. 2. Enable warningif opcode in browser. 3. Refine question value update logic. 4. Use RETRIEVE instead of CHANGING for refresh question. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14728 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-25Sync patch r14711 from main trunk.vanjeff3-31/+43
Fix deadloop issue in BrowserCallback function. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14726 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-24Sync patch r14428 from main trunk.vanjeff1-4/+6
MdeModulePkg/AtaBus: wait up to 30s for ATA cmd response in Standby/Idle mode to follow ATA spec. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14708 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23Sync patch r14682 from main trunk.vanjeff1-2/+4
Fix a bug in Ip4 driver that Ip4.Transmit() interface may return EFI_INVALID_PARAMETER without restore TPL. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14698 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23Sync patch r14695 from main trunk.vanjeff1-2/+4
MdeModulePkg/NvmExpressDxe: Fix an issue of potential uninitialized local variable. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14696 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-18Sync patch r14672 from main trunk.vanjeff9-66/+94
Create PCDs in MdeModulePkg for ACPI table OEM_ID/OEM_TABLE_ID/OEM_REVISION/CREATOR_ID/CREATOR_REVISION customization. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14685 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-18Sync patch r14678 from main trunk.vanjeff5-1/+79
Export one interface to support 3rd party to change question attribute, such as hide/gray out. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14684 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-16Sync patches r14657 and r14659 from main trunk.vanjeff6-45/+105
1. MdeModulePkg/NvmExpressDxe: Fix some bugs 1) The Queue size field in create I/O submission/completion queue cmds is 0-based. the current code is 1-based. 2) A typo on allocated memory page size. it's inconsistent that some places is using 4 pages, but a place is using 6 pages. 3) A typo on PRP/SGL mechanism judgment. should directly use Psdt field rather than Opc field. 4) Some platforms may not support UINT64 width access on MMIO register. Fix it to use two 32-bit width access. 2. Update BGRT image buffer to be stored in EfiBootSerivesData according to ACPI5.0 spec. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14670 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-11Sync patch r14386 from main trunk.vanjeff1-1/+2
Move the memory allocation and variable set to BdsEntry, use VariableLock protocol to lock the L”PerfDataMemAddr” variable and prevent malware to update it. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14654 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-11Sync patches r14257, r14372, r14377, r14378, r14396, r14425, r14463, r14464, ↵vanjeff15-28/+487
r14536, r14590 and r14619 from main trunk. 1. Update secure boot UI driver to handle "reset to default" hot key. 2. Add EDKII_VARIABLE_LOCK_PROTOCOL and the implementation in MdeModulePkg variable drivers. Add code in BdsDxe driver to call the protocol to mark the read-only variables defined in the UEFI Spec. 3. Remove the complex buffer since the _LOCK_VARIABLE won't be allowed after leaving DXE phase. Add the variable name size check in the RequestToLock wrapper. 4. Add the EDKII_VARIABLE_LOCK_PROTOCOL implementation in SecurityPkg variable drivers. 5. Fix overflow issue in TcgProtocol. 6. The list of locked variables is traversed at runtime, hence we must convert the list when transferring from physical to virtual mode. 7. MdeModulePkg: Add the alignment check for FTW spare area address and length, and add the check for PcdFlashNvStorageVariableSize <= PcdFlashNvStorageFtwSpareSize. 8. SecurityPkg Variable: Add the check for PcdFlashNvStorageVariableSize <= PcdFlashNvStorageFtwSpareSize. 9. Change EFI_TCG_EVENT_HOB_GUID value to avoid the duplicated GUID value with EFI_LEGACY_BIOS_GUID. 10. Fix a bug in secure boot configuration driver: Enroll DB/KEK will disable Attempt Secure Boot option. 11. Enhance TPM driver to protect TPM physical presence flags. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14651 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-11Sync patches r14146, r14398, r14471, r14476, r14520, r14521, r14545, r14574 ↵vanjeff25-109/+6115
and r14623 from main trunk. 1. Add new HiiLib API HiiCreateGotoExOpCode() to create UEFI231 IFR REF, REF2, REF3, and REF4 opcode. 2. Use right LBA to get the backed up WorkSpace in spare block. 3. Change the PcdSrIovSystemPageSize from type of [PcdFixedAtBuild] to [PcdFixedAtBuild, PcdsPatchableInModule, PcdDynamic, PcdDynamicEx] so that it’s runtime. 4. MdeModulePkg PartitionDxe: Ensure the NumberOfPartitionEntries * SizeOfPartitionEntry doesn't overflow. 5. MdeMdeModulePkg/Scsi: Enlarge SCSI cmd timeout to a more reasonable experience value to cover more devices. 6. MdeMdeModulePkg/NvmExpressDxe: Add NVM Express support. 7. Remove several ASSERT in XhciDxe to allow error status happen then do error handling. 8. Fixed the issue in PeiCore on Load Module At Fixed Address logic. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14650 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-10Sync part of patches r14505, r14519 and r14558 from main trunk.vanjeff9-65/+26
1. Update all the code to consume the ConvertDevicePathToText, ConvertDevicePathNodeToText, ConvertTextToDevicePath and ConvertTextToDeviceNode APIs in DevicePathLib. 2. OvmfPkg: Use the new DevicePathLib for all platforms. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14643 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-10Sync patches r14496, r14497, r14504, r14548, r14549, r14550 and r14554 from ↵vanjeff14-5990/+4000
main trunk. 1. Fixed the issue that BitFieldWrite32, BitFieldAnd32, BitFieldOr32, BitFieldAndThenOr32 with StartBit==0 and EndBit== 31 will hang in debug tip. 2. Add 4 APIs to DevicePathLib: ConvertDeviceNodeToText, ConvertDevicePathToText, ConvertTextToDeviceNode and ConvertTextToDevicePath. Add a new instance of DevicePathLib which tries to locate the protocol and if it's not found, it uses the internal functions. 3. Add I2C related definition in PI 1.3 spec. Add I2C bus DXE driver and I2C host DXE driver following PI 1.3 spec. 4. MdePkg/IndustryStandard: Update Atapi.h to comply with latest ATA8-ACS spec (d2015r7). git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14642 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-10Sync patches r14112, r14540 and r14543 from main trunk.vanjeff28-8782/+12329
1. Based on the feature PCD value, browser will decide whether to gray out the read only menu. 2. Update Browser to provide the customization possibilities. 3. Refine the code logic for browser and display engine. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14638 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-10Sync patches r14044, r14046 and r14510 from main trunk.vanjeff2-3/+5
1. Use EFI_IFR_TYPE_VALUE type variable instead of UINT64 to avoid buffer overflow. 2. Clean the flag before use it to avoid use old error value. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14637 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-10Sync patch r14036 from main trunk.vanjeff3-7/+10
Base on the type field to get the width of value field for option opcode. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14636 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-23Rollback patches r14294 and r14296 from UDK2010.SR1 Branch.vanjeff1-2/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14385 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-22Check DHCP Server Binding protocol in Supported().vanjeff1-1/+13
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14384 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-22Sync patch r14379 from main trunk.vanjeff5-22/+46
Fix the TOCTOU issue of CommBufferSize itself for SMM communicate handler input. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14382 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-21Sync patch r14380 from main trunk.vanjeff2-1/+160
When finish using the browser storage for one formset, browser should clean the ConfigRequest string for this formset. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14381 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-17Sync patches r14369 and r14370 from main trunk.vanjeff8-101/+395
1. Separate memory allocation for FPDT S3 performance table and boot performance table, save S3 performance table pointer to LockBox in FirmwarePerformanceDxe. Then FirmwarePerformancePei can use the pointer in LockBox. 2. Update the logic about get initial value for one storage. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14371 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10Sync patch r14338 and r14339 from main trunk.vanjeff2-17/+20
1. MdeMdeModulePkg/UsbBusDxe: Break device enumeration process if the device descriptor includes 0 configuration. 2. MdeMdeModulePkg/Xhci: Clear BIOS_OWN semaphore before halting XHCI controller. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14341 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09Sync patches r13975, r14029, r14041, r14065, r14084, r14086 and r14139 from ↵vanjeff3-51/+248
main trunk. 1. Move the declaration of gEfiCertDbGuid to the package's Include folder. 2. Don't assume that flush the HOB variable to flash must be successful. 3. When no DELETED variable found, no variable space could be reclaimed, so just give some debug info and return EFI_SUCCESS. 4. Fix a bug that the invalid public key will never be removed from public key database. 5. a. Update the logic of UpdateVariable() for updating variable from: set old variable to IN_DELETED_TRANSITION -> check if reclaim is needed(If yes, do reclaim) -> add new variable -> set old variable to DELETED if no reclaim happened. to: set old variable to IN_DELETED_TRANSITION -> check if reclaim is needed(If yes, do reclaim) -> add new variable -> set old variable to DELETED. b. Update UpdateVariable() to correctly handle the case "both ADDED and IN_DELETED_TRANSITION variable are present", and delete both old ADDED and IN_DELETED_TRANSITION variable when deleting or updating variable. c. Update VariableServiceGetNextVariableName() to return the valid IN_DELETED_TRANSITION variable if only IN_DELETED_TRANSITION variable is present. 6. Check for NULL pointer before dereference it. 7. Add error handling code to prevent variable store corruption in release build. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14333 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09Sync patches r13691, r13703, r13704, r13909, r13957, r14039, r14079, r14082, ↵vanjeff25-75/+148
r14115, r14165, r14256, r14259, r14294 adn r14296 from main trunk. 1. Should pass in bytes of string buffer to UnicodeSPrint() rather than Unicode string length. 2. Check the return code from CoreLocateDevicePath() in MdeModulePkg/Core/Dxe/Image/Image.c CoreLoadImageCommon(). 3. Fix the memory leak issue and enhance the check for CoreReadImageFile return. 4. MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib. 5. SecurityPkg update: a. Correct the counter-based hash algorithm according to UEFI spec. b. Check the reserverd bit in variable attribute. c. Return EFI_OUT_OF_RESOURCE instead of EFI_SECURITY_VIOLATION if there is not enough speace to store the public key. d. Fix a bug when deleting a non-existent time-based auth variable, we store the certificate into cert DB incorrectly. e. Fix a bug that time-based auth variable can't been updated again after append operation. 6. Fix several RFC compliance issues in DHCP6 driver as below. a. Client must ignore any Advertise message that includes a Status Code option containing the value NoAddrsAvail. b. The elapsed-time should start from the current DHCP transaction. c. Client should not change any information about addresses the client has recorded in the IA but not included in the IA from the server. d. Client need to update to handle the error status code UnspecFail/UseMulticast/NotOnLink/NoBinding in the Reply message from server. e. When the client receives a Reply message in response to a Renew/ Rebind message, the client examines each IA independently. For each IA in the original Renew/ Rebind message, the client sends a Renew/ Rebind if the IA is not in the Reply message. f. Client should uses network byte order in IANA T1/T2 option 7. Client should discard any addresses for which the preferred lifetime is greater than the valid lifetime. 7. Fix infinite loop bug in secure boot UI driver. 8. Fix a bug in snp driver binding Start() that it may return incorrect status code. 9. Fix a bug that IsSignatureFoundInDatabase() incorrectly computes CertCount. 10.Fix several bugs in the implementation of converting SAS/SASEX device path node from/to text. 11.Add transit bit check for detecting partial response in iSCSI stack. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14331 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09Sync patches r13208, r13473, r13563, r13638, r13642, r13647, r13650 and ↵vanjeff8-24/+179
r13656 from main trunk. 1. MdeModulePkg PiSmmCore: Fix a bug in SmmLoadImage() in PiSmmCore that in-correct status codes may be returned. 2. Check whether has storage for date/time opcode, if it has storage, also generate the offset/width info for it. 3. Close the corresponding GUIDed section extraction protocol notify event in CloseSectionStream. 4. Fix incorrect sizeof () usage. 5. Add missing break and add comment to non-necessary break. 6. IntelFrameworkModulePkg/IdeBusDxe: Add error check on the return status of invoking AtaSoftReset(). 7. Enhance the code to make the code logic more clear. 8. Initialize the variable before use it. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14330 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09Sync patch r14325 from main trunk.vanjeff7-131/+227
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. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14329 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-08Sync patches r14315 and r14323 from main trunk.vanjeff1-21/+22
1. Update dual network stack drivers to produce multiple Driver Binding Protocol. 2. Fix memory overflow & VariableSize check issue for SetVariable append write. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14327 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-28Sync patches r14276, r14305 and r14317 from main trunk.vanjeff8-53/+262
1. Fix SMM Variable driver stack GetVariable return INVALID_PARAMETER when DataSize is bigger than SMM communication buffer. 2. Fix potential overflow for SetVariable interface. 3. Use the check IsAddressValid() to prevent SMM communication buffer overflow in SmmVariable, FtwSmm, FpdtSmm, SmmCorePerformance and SmmBaseHelper, and add check to prevent InfoSize overflows in SmmVariableHandler. 4. Add check to make sure the input VariableName is A Null-terminated string. 5. Use local variable to hold StrSize (VariableName) to avoid duplicated StrSize calculation. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14322 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-28Sync patches r14027, r14312, r14314 and r14318 from main trunk.vanjeff7-31/+153
1. MdeModulePkg/AtaAtapiPassThru: Not set AhciCmdC bit of CommandList when doing transaction as AHCI spec say this bit is only used to do soft reset. 2. Mallicious code may use SmmFaultTolerantWriteHandler() to update some flash area directly, like Variable region, so return EFI_ACCESS_DENIED after End Of Dxe in SmmFaultTolerantWriteHandler(). And add code to prevent InfoSize overflow. 3. Fix ping command issue in IP4 driver. 4. Fix the bug which incorrectly programs the 64bit base address register in the PCI to PCI bridge. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14321 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-19Sync patch r14292 from main trunk.vanjeff1-0/+13
Fix a potential SMM memory dump issue. If pass communication buffer with DataBuffer to SMM SetVariable which is big enough to cover SMM range. Then GetVariable can dump SMM memory contents. Add more range check for SetVariable git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14301 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-19Sync patch r13930 from main trunk.vanjeff2-19/+104
Build the registered guid HOB and SystemTable to record the GUID itself in PeiExtractGuidedSectionLib and DxeExtractGuidedSectionLib, and also state the restriction in BaseExtractGuidedSectionLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14300 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-19Sync patches r13470, r13477, r13518, r13545, r13954, r13763 and r14145 from ↵vanjeff7-32/+318
main trunk. 1. MdeModulePkg PI SMM Core: Unregister handler for SMM Ready To Lock event in SmmReadyToLockHandler() at first call so that it won't be invoked again. 2. Add more SMRAM range check to 3 SMI handler. 3. Add SMRAM range check to fault tolerant write SMM SMI handler. 4. Add more security check for CommBuffer+CommBufferSize. 5. Add more exact SMM check in SmmFaultTolerantWriteHandler. 6. In order to make sure the image is section alignment, after allocate buffer for TE image, it will adjust the base address. But it has two potential issues: One is the start address may not section alignment, second is the buffer is not bigger enough to do the adjustment. This patch fixes these two issues. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/UDK2010.SR1@14299 6f19259b-4bc3-4df7-8a09-765794883524