Skip to content

Commit

Permalink
DxeCore is designed to trust input data, so add comments to reminder …
Browse files Browse the repository at this point in the history
…caller to do check to follow PI specification when necessary.

Since LBA_CACHE is DxeCore implementation specific, DxeCore will check it here.

Signed-off by: jiewen yao <jiewen.yao@intel.com>
Reviewed by: liming gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15136 6f19259b-4bc3-4df7-8a09-765794883524
  • Loading branch information
jyao1 authored and jyao1 committed Jan 17, 2014
1 parent 4dd8c7a commit 3a1966c
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
It consumes FV HOBs and creates read-only Firmare Volume Block protocol
instances for each of them.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
Expand Down Expand Up @@ -524,9 +524,14 @@ ProduceFVBProtocolOnBuffer (
PtrBlockMapEntry++) {
FvbDev->NumBlocks += PtrBlockMapEntry->NumBlocks;
}

//
// Second, allocate the cache
//
if (FvbDev->NumBlocks >= (MAX_ADDRESS / sizeof (LBA_CACHE))) {
CoreFreePool (FvbDev);
return EFI_OUT_OF_RESOURCES;
}
FvbDev->LbaCache = AllocatePool (FvbDev->NumBlocks * sizeof (LBA_CACHE));
if (FvbDev->LbaCache == NULL) {
CoreFreePool (FvbDev);
Expand Down Expand Up @@ -641,6 +646,10 @@ FwVolBlockDriverInit (
particular, it can be called by BDS to process a single firmware
volume found in a capsule.
Caution: The caller need validate the input firmware volume to follow
PI specification.
DxeCore will trust the input data and process firmware volume directly.
@param FvHeader pointer to a firmware volume header
@param Size the size of the buffer pointed to by FvHeader
@param FVProtocolHandle the handle on which a firmware volume protocol
Expand Down

0 comments on commit 3a1966c

Please sign in to comment.