1fd227dd26
MdePkg/PiFirmwareFile: fix undefined behavior in FFS_FILE_SIZE
...
Accessing "EFI_FFS_FILE_HEADER.Size", which is of type UINT8[3], through a
(UINT32*), is undefined behavior. Fix it by accessing the array elements
individually.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:31:00 +02:00
fc76bbd94d
MdePkg/PiFirmwareFile: fix undefined behavior in SECTION_SIZE
...
RH covscan justifiedly reports that accessing
"EFI_COMMON_SECTION_HEADER.Size", which is of type UINT8[3], through a
(UINT32*), is undefined behavior:
> Error: OVERRUN (CWE-119):
> edk2-89910a39dcfd/OvmfPkg/Sec/SecMain.c:178: overrun-local: Overrunning
> array of 3 bytes at byte offset 3 by dereferencing pointer
> "(UINT32 *)((EFI_COMMON_SECTION_HEADER *)(UINTN)Section)->Size".
> # 176| Section = (EFI_COMMON_SECTION_HEADER*)(UINTN) CurrentAddress;
> # 177|
> # 178|-> Size = SECTION_SIZE (Section);
> # 179| if (Size < sizeof (*Section)) {
> # 180| return EFI_VOLUME_CORRUPTED;
Fix this by accessing the array elements individually.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Issue: scan-1007.txt
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:30:54 +02:00
d976f09d99
MdePkg/PiFirmwareFile: express IS_SECTION2 in terms of SECTION_SIZE
...
The IS_SECTION2() function-like macro duplicates the SECTION_SIZE()
calculation, just to compare the computed size against 0xFFFFFF. Invoke
SECTION_SIZE() instead; only preserve the comparison.
Cc: Liming Gao <liming.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1710
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
2019-04-24 17:30:46 +02:00
9344f09215
MdePkg: Replace BSD License with BSD+Patent License
...
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html
RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2019-04-09 10:58:13 -07:00
f412ecc3f4
MdePkg/Include: Add management mode FV file type and depex.
...
As per PI specification v1.6,
As per section 2.1.4.1,
The following file types exist:
Table 3. Defined File Types
Name Value
EFI_FV_FILETYPE_RAW 0x01
EFI_FV_FILETYPE_FREEFORM 0x02
EFI_FV_FILETYPE_SECURITY_CORE 0x03
EFI_FV_FILETYPE_PEI_CORE 0x04
EFI_FV_FILETYPE_DXE_CORE 0x05
EFI_FV_FILETYPE_PEIM 0x06
EFI_FV_FILETYPE_DRIVER 0x07
EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER 0x08
EFI_FV_FILETYPE_APPLICATION 0x09
EFI_FV_FILETYPE_MM 0x0A
EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B
EFI_FV_FILETYPE_COMBINED_MM_DXE 0x0C
EFI_FV_FILETYPE_MM_CORE 0x0D
EFI_FV_FILETYPE_MM_STANDALONE 0x0E
EFI_FV_FILETYPE_MM_CORE_STANDALONE 0x0F
The following new section type is added:
EFI_SECTION_MM_DEPEX
This patch adds the management mode FV file type and depex.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Achin Gupta <achin.gupta@arm.com >
Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2018-02-09 14:41:03 +08:00
c8a9f0693a
MdePkg PiFirmwareFile.h: Add FFS_ATTRIB_DATA_ALIGNMENT_2 definition
...
Follow PI 1.6 spec to add FFS_ATTRIB_DATA_ALIGNMENT_2 definition for
FFS alignment extended to support maximum 16MB.
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2017-09-26 18:00:59 +08:00
28fc9f4730
MdePkg: Follow PI spec to update ExtendedSize in EFI_FFS_FILE_HEADER2
...
for FFS data above 16 bytes alignment requirement.
PI spec requires FFS header to be at 8 bytes alignment to FV header.
And, FFS data alignment requires the beginning of the file data must
be aligned on a particular boundary, such as 1, 16, 128 bytes or above.
If FFS data alignment requires to be above 16 bytes, and FFS header
must be at 8 byte alignment, so FFS header size must be multiple of 8.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18263 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-24 01:43:20 +00:00
fbb393ab7a
[MdePkg] Code clean-up: Remove trailing spaces
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com >
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16223 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-22 03:03:18 +00:00
30f001ca5f
Add core FFS3 support, ExtractGuidedSectionLib/GuidedSectionExtractionLib/PiFirmwareFile.h.
...
Signed-off-by: lzeng14
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12582 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27 08:45:50 +00:00
044a53c12a
Correct ExtendedSize’s type to UINT32.
...
Signed-off-by: lzeng14
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11833 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-16 07:07:12 +00:00
bf099261d9
According to PI_1_2_Errata_B, EFI_FFS_INTEGRITY_CHECK.Checksum.File should be 8-bit checksum of the file data, not the entire file, correct the comments.
...
Signed-off-by: lzeng14
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11672 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-17 08:56:03 +00:00
9df063a06a
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10403 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:46:20 +00:00
af2dc6a70b
Grammatical and disclaimer changes (does not follow internal C coding stds.)
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10235 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-12 22:19:12 +00:00
2bf0d83532
Add the fixed checksum value 0xAA of FFS header according to the latest PI spec.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10124 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-28 23:53:41 +00:00
95ba3c4150
Add new FFS file types defined for SMM introduced since PI 1.1.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9172 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-21 05:13:43 +00:00
3d4d4cfaa0
Add related definitions support large file.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9151 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-20 07:24:36 +00:00
73d622ed16
Add EFI_DISPOSABLE_SECTION type defined in PI 1.2 specification.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9122 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 06:04:05 +00:00
d7dfd027aa
1. Clean up MdePkg internal header files
...
The header files in MdePkg/Include/Ia32, X64, Ipf, Ebc, Pi, Uefi directories are the internal header files, which should not be directly included by the modules.
This patch cleans these internal header files to remove the uncessary ProcessorBind.h file.
2. Clean up MdePkg public header files to remove the uncessary internal header files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8324 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-18 09:13:49 +00:00
1bf793701b
Add comments for enumeration, structure data members those are referred by UefiService, Runtime Service, Dxe Service and Pei Service.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6974 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-10 08:22:03 +00:00
0047820e1b
Refine version info in MDE file header.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6275 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 13:04:40 +00:00
4b503a775e
Minor update for PI include files according to code review comments.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5839 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-08 07:55:40 +00:00
7b1bf9f61b
added additional comments and fixed some typo.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5810 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 06:16:14 +00:00
dc53faa3a2
Fix doxygen issue:
...
1) comment for structure should be in doxygen format, such as /// , /**, /*!
2) comment for data field of structure should in doxygen format.
3) should not exist blank between ") (" when declaring a type of function point.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5363 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-24 04:37:24 +00:00
0b3cac32f3
Fix missing include file which break doxygen parsing.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5103 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-21 06:56:45 +00:00
d44d2087c5
EFI_FV_FILETYPE_ALL missing from PI specification. Will be added in an errata as its referenced, but not defined.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3443 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-25 23:51:08 +00:00
62d1e08bd1
Add pack(1) for section header structure.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3091 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-06 02:53:00 +00:00
c4eed1fd5e
Clean up the tolerant definitions of FV_FILETYPEs.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3031 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-04 08:25:04 +00:00
ddd3f47177
Add macro SECTION_SIZE(SectionHeader) in MdePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3030 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-04 08:23:26 +00:00
2e19fd0ff6
Porting SecMain module for Nt32Pkg, but not enable PI, so it currently dependent on IntelFrameworkPkg temporary.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2998 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-03 09:18:19 +00:00
8fb30482e7
Update the EFI_FV_FILETYPE definitions.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2992 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-03 07:59:59 +00:00
842f5579c7
Updated headers to follow coding standard
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2815 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-27 22:53:31 +00:00
00edb2182b
Removed tabs and fixed some minor coding style issues. Also fixed typo in EFI_PEI_ENTRY_POINT
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2668 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-18 20:28:02 +00:00
959ccb23c6
Move to directory "Include"
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2646 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-08 11:31:52 +00:00