Laszlo Ersek
fb97626fe0
.mailmap: add entries for Rebecca Cran
...
... for git-shortlog purposes.
NOTE: this patch does not introduce a cross-domain mapping; it only maps
both email addresses of Rebecca to the full name "Rebecca Cran".
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Rebecca Cran <rebecca@bsdio.com >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
4fc6912b96
.mailmap: add (another) entry for Liming Gao
...
... for git-shortlog purposes.
NOTE: this patch does not introduce a cross-domain mapping; it only maps
the name "gaoliming" in Liming's new email address to "Liming Gao" (see
the Author field on commit aad9cba85f
).
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
e97c78c546
.mailmap: add entry for Matt DeVillier
...
... for git-shortlog purposes.
Cc: Matt DeVillier <matt.devillier@gmail.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Matt DeVillier <matt.devillier@gmail.com >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
a6e9a9c025
.mailmap: add entry for Wei6 Xu
...
... for git-shortlog purposes.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Wei6 Xu <wei6.xu@intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Wei6 Xu <wei6.xu@intel.com >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
00b51fcb1e
.mailmap: add entry for Zhiguang Liu
...
... for git-shortlog purposes.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
86b3bee2f3
.mailmap: add entry for Tom Lendacky
...
... for git-shortlog purposes.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Tom Lendacky <thomas.lendacky@amd.com >
2020-09-22 13:53:46 +00:00
Laszlo Ersek
440121b542
.mailmap: add entry for Zhichao Gao
...
... for git-shortlog purposes.
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Acked-by: Zhichao Gao <zhichao.gao@intel.com >
2020-09-22 13:53:46 +00:00
Divneil Rai Wadhawan
ea9af51479
EmulatorPkg: Add RngLib to satisfy dependency of OpensslLib
...
* Recently, OpensslLib [LibraryClasses] has been changed
to include RngLib which causes the SECURE_BOOT_ENABLE
build to fail in want of RngLib
* This patch adds the RngLib for OpensslLib
Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2020-09-21 02:59:28 +00:00
Divneil Rai Wadhawan
7faece6985
EmulatorPkg: Enable support for Secure Boot
...
SECURE_BOOT_ENABLE feature flag is introduced to enable Secure Boot.
The following gets enabled with this patch:
* Secure Boot Menu in "Device Manager" for enrolling keys
* Storage space for Authenticated Variables
* Authenticated execution of 3rd party images
Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2020-09-18 11:53:29 +00:00
Jeff Brasen
698d3d7726
MdeModulePkg/NonDiscoverablePciDeviceDxe: Add NULL pointer check
...
Add check for NULL HostAddress in AllocateBuffer as required by UEFI
specification.
Signed-off-by: Jeff Brasen <jbrasen@nvidia.com >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
2020-09-18 02:45:21 +00:00
Matthew Carlson
b5701a4c7a
CryptoPkg: OpensslLib: Use RngLib to generate entropy in rand_pool
...
Ref: https://github.com/tianocore/edk2/pull/845
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
Changes OpenSSL to no longer depend on TimerLib and instead use RngLib.
This allows platforms to decide for themsevles what sort of entropy source
they provide to OpenSSL and TlsLib.
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-18 02:19:21 +00:00
Matthew Carlson
4168137537
ArmVirtPkg: Add RngLib based on TimerLib for CryptoPkg
...
Updates the DSC for the ArmVirtPkg platform to add a RngLib that uses the
TimerLib. This is due to a later change that adds TimerLib as a dependency
for OpenSSL. The TimerLib based RngLib mimics the behavior of OpenSSL
previously and it is recommended to switch to a better source of
entropy than the system's performance counter.
Ref: https://github.com/tianocore/edk2/pull/845
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-18 02:19:21 +00:00
Matthew Carlson
a09df5d2e1
OvmfPkg: Add RngLib based on TimerLib for Crypto
...
Updates the DSC's for Ovmf based platforms to add a RngLib that uses the
TimerLib. This is due to a later change that adds TimerLib as a dependency
for OpenSSL. The TimerLib based RngLib mimics the behavior of OpenSSL
previously and it is recommended to switch to a better source of
entropy than the system's performance counter.
Ref: https://github.com/tianocore/edk2/pull/845
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Anthony Perard <anthony.perard@citrix.com >
Cc: Julien Grall <julien@xen.org >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-18 02:19:21 +00:00
Matthew Carlson
ed0dce7d54
MdePkg: BaseRngLibDxe: Add RngLib that uses RngDxe
...
This adds a RngLib that uses the RngProtocol to provide randomness.
This means that the RngLib is meant to be used with DXE_DRIVERS.
Ref: https://github.com/tianocore/edk2/pull/845
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-18 02:19:21 +00:00
Matthew Carlson
f56ed0e51d
MdePkg: TimerRngLib: Added RngLib that uses TimerLib
...
Added a new RngLib that provides random numbers from the TimerLib
using the performance counter. This is meant to be used for OpenSSL
to replicate past behavior. This should not be used in production as
a real source of entropy.
Ref: https://github.com/tianocore/edk2/pull/845
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1871
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-18 02:19:21 +00:00
Michael Kubacki
32b0a492d5
MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2961
The value of EFI_BLOCK_IO_PROTOCOL_REVISION3 is currently
0x00020031. However, the value assigned in the UEFI Specification
2.8B is ((2<<16) | (31)) which is 0x0002001F.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
2020-09-18 01:36:07 +00:00
Leif Lindholm
5648836987
OvmfPkg: drop redundant VendorID check in VirtioMmioDeviceLib
...
There is a DEBUG warning printout in VirtioMmioDeviceLib if the current
device's VendorID does not match the traditional 16-bit Red Hat PCIe
vendor ID used with virtio-pci. The virtio-mmio vendor ID is 32-bit and
has no connection to the PCIe registry.
Most specifically, this causes a bunch of noise when booting an AArch64
QEMU platform, since QEMU's virtio-mmio implementation used 'QEMU' as
the vendor ID:
VirtioMmioInit: Warning:
The VendorId (0x554D4551) does not match the VirtIo VendorId (0x1AF4).
Drop the warning message.
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Signed-off-by: Leif Lindholm <leif@nuviainc.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
2020-09-17 12:01:11 +00:00
Marcello Sylvester Bauer
8028b2907e
UefiPayloadPkg: Support variable size MMCONF space
...
The default size is still 256MiB, but will be overwritten by
UefiPayloadPkg with the real MMCONF size.
e.g.: On embedded AMD platforms the MMCONF window size is usually
only 64MiB.
Fixes crash on platforms not exposing 256 buses.
Tested on:
* AMD Stoney Ridge
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com >
Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@9elements.com >
Cc: Patrick Rudolph <patrick.rudolph@9elements.com >
Cc: Christian Walter <christian.walter@9elements.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2020-09-16 06:36:18 +00:00
Marcello Sylvester Bauer
5c06585528
MdePkg: PciExpressLib support variable size MMCONF
...
Add support for arbitrary sized MMCONF by introducing a new PCD.
Add a return value to point out invalid PCI addresses.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com >
Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@9elements.com >
Cc: Patrick Rudolph <patrick.rudolph@9elements.com >
Cc: Christian Walter <christian.walter@9elements.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2020-09-16 06:36:18 +00:00
Patrick Rudolph
28d7eea97e
UefiPayloadPkg: Store the size of the MMCONF window
...
Store the real size of the Pcie Memory Mapped Address Space.
This change is necessary to support variable size of MMCONF spaces.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com >
Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@9elements.com >
Cc: Patrick Rudolph <patrick.rudolph@9elements.com >
Cc: Christian Walter <christian.walter@9elements.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Maurice Ma <maurice.ma@intel.com >
2020-09-16 06:36:18 +00:00
Qi Zhang
7bcb021a6d
SecurityPkg/PeiTpmMeasurementLib: remove gEfiTpmDeviceSelectedGuid
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2963
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-16 05:16:02 +00:00
Qi Zhang
414d7d11e6
IntelFsp2WrapperPkg: remove gPeiTpmInitializationDonePpiGuid from Depex
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2963
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-09-16 05:16:02 +00:00
Matthew Carlson
a62fb4229d
BaseTools: update IASL extdep to more modern version
...
The IASL extdep is used for CI only and a recent fork of the ACPICA
repo was made to make nuget builds more regular and easier to audit.
https://dev.azure.com/projectmu/_git/acpica
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com >
2020-09-16 01:26:08 +00:00
Chasel Chiu
1b461403ee
UefiCpuPkg/RegisterCpuFeaturesLib: Support MpServices2 only case.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2883
MpServices Ppi can be replaced by MpServices2 Ppi and MpServices2
Ppi is mandatory for RegisterCpuFeaturesLib functionality,
basing on this we can drop MpServices Ppi usage from the library
and the constraint that both Ppis must be installed.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2020-09-14 13:07:37 +00:00
Wenyi Xie
067503a8c6
EmulatorPkg:Change DEC_VERSION to DEC_SPECIFICATION
...
edk2 DEC specification document only knows about DEC_SPECIFICATION,
so using DEC_VERSION in [Defines] section in EmulatorPkg.dec is not
correct.
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Andrew Fish <afish@apple.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2020-09-14 04:01:27 +00:00
Guo Dong
317d84abe3
UefiPayloadPkg:Remove x86 legacy UART defaults
...
The BaseSerialPortLib16550 does fallback to a fixed address UART defined
by PcdSerialRegisterBase and does not initialize if it is zero. Do not
assume a serial port at 0x3F8, otherwise it could cause errors during
initialization of a non-existent serial port on non legacy platforms.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com >
Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@9elements.com >
Reviewed-by: Maurice Ma <maurice.ma@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2020-09-09 00:13:02 +00:00
Laszlo Ersek
f94345d9ea
EmbeddedPkg/TimeBaseLib: remove the SEC_PER_MONTH, SEC_PER_YEAR macros
...
The SEC_PER_MONTH and SEC_PER_YEAR macros are wrong: they both evaluate to
0 (of type "int"). They are also unused (they could never be used for
division, for example); so remove them. The macros were originally
introduced in commit 0f4386e775
("ArmPlatformPkg/PL031RealTimeClockLib:
Implement PL031 RTC drive", 2011-06-11).
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Reported-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200904154541.23340-1-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
2020-09-08 10:30:28 +00:00
Bob Feng
859e09523d
BaseTools: Sort the Pcd set when generating the VPD binary
...
If VPD PcdNvStoreDefaultValueBuffer is used, all DynamicHii and
DynamicExHii PCD value will be generated into that VPD.
In order to generate the same VPD binary file in every build,
sort the Pcd set when generating VPD.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
2020-09-08 08:48:24 +00:00
Zhichao Gao
cdfc7ed34f
SecurityPkg/DxeImageVerificationLib: Disable SHA1 base on MACRO
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2943
Disable SHA1 base on the MACRO DISABLE_SHA1_DEPRECATED_INTERFACES.
SHA1 is deprecated function and the MACRO is used to remove the whole
implementation of the SHA1. For the platforms that do not need SHA1
for security, the MACRO should works for DxeImageVerificationLib as
well.
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-09-07 02:38:42 +00:00
Abner Chang
2ace920de1
Maintainers.txt: Update reviewers of */RiscV64
...
Add reviewers for all /RiscV64 folders.
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Cc: Andrew Fish <afish@apple.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Leif Lindholm <leif.lindholm@linaro.org >
Acked-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200904071913.17295-1-abner.chang@hpe.com >
Reviewed-by: Leif Lindholm <leif@nuviainc.com >
[lersek@redhat.com: pick up Leif's R-b from <20200830114401.GB20124@vanye>]
2020-09-04 10:01:55 +00:00
Zhang, Shenglei
06dc822d04
Revert ".pytool/EccCheck: Disable Ecc error code 10014 for open CI"
...
This reverts commit d4e0b9607c
.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2951
Previously false positive Ecc issue whose error code is 10014 was reported
under Linux OS. So we disabled it in EccCheck plugin for edk2 open CI.
As the bug is fixed, we need to revert the change and re-enable it.
Cc: Sean Brogan <sean.brogan@microsoft.com >
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
edk2-stable202008
2020-09-03 14:48:11 +00:00
Qi Zhang
e8453aa373
MdeModulePkg/Library: add PEIM and SEC module type to TpmMeasurementLibNull
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2940
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901072622.9391-1-qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-09-02 12:27:38 +00:00
Laszlo Ersek
0b143fa43e
SecurityPkg/DxeImageVerificationLib: catch alignment overflow (CVE-2019-14562)
...
The DxeImageVerificationHandler() function currently checks whether
"SecDataDir" has enough room for "WinCertificate->dwLength". However, for
advancing "OffSet", "WinCertificate->dwLength" is aligned to the next
multiple of 8. If "WinCertificate->dwLength" is large enough, the
alignment will return 0, and "OffSet" will be stuck at the same value.
Check whether "SecDataDir" has room left for both
"WinCertificate->dwLength" and the alignment.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-4-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Laszlo Ersek
a7632e913c
SecurityPkg/DxeImageVerificationLib: assign WinCertificate after size check
...
Currently the (SecDataDirLeft <= sizeof (WIN_CERTIFICATE)) check only
guards the de-referencing of the "WinCertificate" pointer. It does not
guard the calculation of the pointer itself:
WinCertificate = (WIN_CERTIFICATE *) (mImageBase + OffSet);
This is wrong; if we don't know for sure that we have enough room for a
WIN_CERTIFICATE, then even creating such a pointer, not just
de-referencing it, may invoke undefined behavior.
Move the pointer calculation after the size check.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-3-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Laszlo Ersek
503248ccdf
SecurityPkg/DxeImageVerificationLib: extract SecDataDirEnd, SecDataDirLeft
...
The following two quantities:
SecDataDir->VirtualAddress + SecDataDir->Size
SecDataDir->VirtualAddress + SecDataDir->Size - OffSet
are used multiple times in DxeImageVerificationHandler(). Introduce helper
variables for them: "SecDataDirEnd" and "SecDataDirLeft", respectively.
This saves us multiple calculations and significantly simplifies the code.
Note that all three summands above have type UINT32, therefore the new
variables are also of type UINT32.
This patch does not change behavior.
(Note that the code already handles the case when the
SecDataDir->VirtualAddress + SecDataDir->Size
UINT32 addition overflows -- namely, in that case, the certificate loop is
never entered, and the corruption check right after the loop fires.)
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-2-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Bob Feng
7513559926
BaseTools/Ecc: Fix an issue of path separator compatibility
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2904
The path separator is different in Windows and Linux, the
original code does not handle this difference. This patch
is to fix this issue.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Cc: Shenglei Zhang <shenglei.zhang@intel.com >
Message-Id: <20200901102315.38840-1-bob.c.feng@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2020-09-01 17:55:56 +00:00
Zhiguang Liu
46db105b7b
SecurityPkg: Initailize variable Status before it is consumed.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2945
V2: Move "Status = EFI_SUCCESS;" before the EDKII_TCG_PRE_HASH check.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
Message-Id: <20200901005505.1722-1-zhiguang.liu@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2020-09-01 16:11:24 +00:00
Qi Zhang
0c5c45a133
IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec: add FspMeasurementLib.h
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2944
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Eric Dong <eric.dong@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200831020721.8967-1-qi1.zhang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-09-01 15:40:02 +00:00
Paul
5ffcbc4690
MdePkg: Correcting EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT definition
...
In Acpi10.h, EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT is defined as 0x10,
but should be 0x02 per the ACPI Specification.
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2937
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Paul G <paul.grimes@amd.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2020-08-30 01:32:43 +00:00
Laszlo Ersek
cbccf99592
OvmfPkg/CpuHotplugSmm: fix CPU hotplug race just after SMI broadcast
...
The "virsh setvcpus" (plural) command may hot-plug several VCPUs in quick
succession -- it means a series of "device_add" QEMU monitor commands,
back-to-back.
If a "device_add" occurs *just after* ACPI raises the broadcast SMI, then:
- the CPU_FOREACH() loop in QEMU's ich9_apm_ctrl_changed() cannot make the
SMI pending for the new CPU -- at that time, the new CPU doesn't even
exist yet,
- OVMF will find the new CPU however (in the CPU hotplug register block),
in QemuCpuhpCollectApicIds().
As a result, when the firmware sends an INIT-SIPI-SIPI to the new CPU in
SmbaseRelocate(), expecting it to boot into SMM (due to the pending SMI),
the new CPU instead boots straight into the post-RSM (normal mode) "pen",
skipping its initial SMI handler.
The CPU halts nicely in the pen, but its SMBASE is never relocated, and
the SMRAM message exchange with the BSP falls apart -- the BSP gets stuck
in the following loop:
//
// Wait until the hot-added CPU is just about to execute RSM.
//
while (Context->AboutToLeaveSmm == 0) {
CpuPause ();
}
because the new CPU's initial SMI handler never sets the flag to nonzero.
Fix this by sending a directed SMI to the new CPU just before sending it
the INIT-SIPI-SIPI. The various scenarios are documented in the code --
the cases affected by the patch are documented under point (2).
Note that this is not considered a security patch, as for a malicious
guest OS, the issue is not exploitable -- the symptom is a hang on the
BSP, in the above-noted loop in SmbaseRelocate(). Instead, the patch fixes
behavior for a benign guest OS.
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Igor Mammedov <imammedo@redhat.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Fixes: 51a6fb4118
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2929
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200826222129.25798-3-lersek@redhat.com >
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
2020-08-27 18:01:00 +00:00
Laszlo Ersek
020bb4b46d
OvmfPkg/CpuHotplugSmm: fix CPU hotplug race just before SMI broadcast
...
The "virsh setvcpus" (plural) command may hot-plug several VCPUs in quick
succession -- it means a series of "device_add" QEMU monitor commands,
back-to-back.
If a "device_add" occurs *just before* ACPI raises the broadcast SMI,
then:
- OVMF processes the hot-added CPU well.
- However, QEMU's post-SMI ACPI loop -- which clears the pending events
for the hot-added CPUs that were collected before raising the SMI -- is
unaware of the stray CPU. Thus, the pending event is not cleared for it.
As a result of the stuck event, at the next hot-plug, OVMF tries to re-add
(relocate for the 2nd time) the already-known CPU. At that time, the AP is
already in the normal edk2 SMM busy-wait however, so it doesn't respond to
the exchange that the BSP intends to do in SmbaseRelocate(). Thus the VM
gets stuck in SMM.
(Because of the above symptom, this is not considered a security patch; it
doesn't seem exploitable by a malicious guest OS.)
In CpuHotplugMmi(), skip the supposedly hot-added CPU if it's already
known. The post-SMI ACPI loop will clear the pending event for it this
time.
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com >
Cc: Igor Mammedov <imammedo@redhat.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Philippe Mathieu-Daudé <philmd@redhat.com >
Fixes: bc498ac4ca
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2929
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200826222129.25798-2-lersek@redhat.com >
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com >
2020-08-27 18:01:00 +00:00
Qi Zhang
63d92674d2
IntelFsp2WrapperPkg/dsc: add HashLib, Tpm2CommandLib and Tpm2DeviceLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-9-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-08-26 15:56:11 +00:00
Qi Zhang
547067dd86
SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-8-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Jiewen Yao
c1a42bb0e2
IntelFsp2Wrapper/dsc: Add FspTpmMeasurementLib and PcdFspMeasurementConfig.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Message-Id: <20200818062618.3698-7-qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
[lersek@redhat.com: extend (C) notice in DEC to 2020 per Chasel's request]
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
2020-08-26 15:56:11 +00:00
Qi Zhang
6847329af2
SecurityPkg/dsc: add FvEventLogRecordLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-6-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Jiewen Yao
53ea57fea4
IntelFsp2WraperPkg/Fsp{m|s}WrapperPeim: Add FspBin measurement.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Message-Id: <20200818062618.3698-5-qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-08-26 15:56:11 +00:00
Jiewen Yao
6c02386403
IntelFsp2WrapperPkg/FspMeasurementLib: Add BaseFspMeasurementLib.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Message-Id: <20200818062618.3698-4-qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-08-26 15:56:11 +00:00
Jiewen Yao
17f65e4063
IntelFsp2WrapperPkg/FspMeasurementLib: Add header file.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Message-Id: <20200818062618.3698-3-qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
2020-08-26 15:56:11 +00:00
Qi Zhang
a13947b2fa
SecurityPkg/TcgEventLogRecordLib: add new lib for firmware measurement
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-2-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Abner Chang
78ab44cb96
MdePkg/Include: Add missing definition of SMBIOS type 42h in SmBios.h
...
Add host interface Protocol Type Data Format structure in SmBios.h
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2328
Signed-off-by: Abner Chang <abner.chang@hpe.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-08-25 01:16:23 +00:00