mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-29 16:44:10 +02:00
MdeModulePkg PiSmmCore: Update FreePages to handle zero address and pages
https://bugzilla.tianocore.org/show_bug.cgi?id=278 Zero memory address or zero number pages are invalid to SmmFreePages(). Cc: Star Zeng <star.zeng@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
parent
d5aef955b9
commit
ddfae2640c
@ -861,7 +861,7 @@ InternalMergeNodes (
|
|||||||
@param[in] AddRegion If this memory is new added region.
|
@param[in] AddRegion If this memory is new added region.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
||||||
@retval EFI_INVALID_PARAMETER Address not aligned.
|
@retval EFI_INVALID_PARAMETER Address not aligned, Address is zero or NumberOfPages is zero.
|
||||||
@return EFI_SUCCESS Pages successfully freed.
|
@return EFI_SUCCESS Pages successfully freed.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
@ -875,7 +875,7 @@ SmmInternalFreePagesEx (
|
|||||||
LIST_ENTRY *Node;
|
LIST_ENTRY *Node;
|
||||||
FREE_PAGE_LIST *Pages;
|
FREE_PAGE_LIST *Pages;
|
||||||
|
|
||||||
if ((Memory & EFI_PAGE_MASK) != 0) {
|
if (((Memory & EFI_PAGE_MASK) != 0) || (Memory == 0) || (NumberOfPages == 0)) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -933,7 +933,7 @@ SmmInternalFreePagesEx (
|
|||||||
@param[in] NumberOfPages The number of pages to free.
|
@param[in] NumberOfPages The number of pages to free.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
||||||
@retval EFI_INVALID_PARAMETER Address not aligned.
|
@retval EFI_INVALID_PARAMETER Address not aligned, Address is zero or NumberOfPages is zero.
|
||||||
@return EFI_SUCCESS Pages successfully freed.
|
@return EFI_SUCCESS Pages successfully freed.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
@ -954,7 +954,7 @@ SmmInternalFreePages (
|
|||||||
@param NumberOfPages The number of pages to free.
|
@param NumberOfPages The number of pages to free.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
@retval EFI_NOT_FOUND Could not find the entry that covers the range.
|
||||||
@retval EFI_INVALID_PARAMETER Address not aligned.
|
@retval EFI_INVALID_PARAMETER Address not aligned, Address is zero or NumberOfPages is zero.
|
||||||
@return EFI_SUCCESS Pages successfully freed.
|
@return EFI_SUCCESS Pages successfully freed.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -312,7 +312,7 @@ SmmInternalAllocatePages (
|
|||||||
@param NumberOfPages The number of pages to free
|
@param NumberOfPages The number of pages to free
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Could not find the entry that covers the range
|
@retval EFI_NOT_FOUND Could not find the entry that covers the range
|
||||||
@retval EFI_INVALID_PARAMETER Address not aligned
|
@retval EFI_INVALID_PARAMETER Address not aligned, Address is zero or NumberOfPages is zero.
|
||||||
@return EFI_SUCCESS Pages successfully freed.
|
@return EFI_SUCCESS Pages successfully freed.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
@ -330,7 +330,7 @@ SmmFreePages (
|
|||||||
@param NumberOfPages The number of pages to free
|
@param NumberOfPages The number of pages to free
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Could not find the entry that covers the range
|
@retval EFI_NOT_FOUND Could not find the entry that covers the range
|
||||||
@retval EFI_INVALID_PARAMETER Address not aligned
|
@retval EFI_INVALID_PARAMETER Address not aligned, Address is zero or NumberOfPages is zero.
|
||||||
@return EFI_SUCCESS Pages successfully freed.
|
@return EFI_SUCCESS Pages successfully freed.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user