From 257ca1593f62e7b4aff1d1a95d323e207c22c828 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sep 15 2020 23:29:55 +0000 Subject: Update to newer git snapshot, synced with qemu.git Signed-off-by: Cole Robinson --- diff --git a/0003-efi-Raise-TPL-during-driver-entry-point.patch b/0003-efi-Raise-TPL-during-driver-entry-point.patch deleted file mode 100644 index 84c8b5d..0000000 --- a/0003-efi-Raise-TPL-during-driver-entry-point.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 82a962066fb5a41b6dc50476f8676b559ac1edcc Mon Sep 17 00:00:00 2001 -From: Michael Brown -Date: Tue, 30 Jun 2020 16:32:59 +0100 -Subject: [PATCH] [efi] Raise TPL during driver entry point - -As per commit c89a446 ("[efi] Run at TPL_CALLBACK to protect against -UEFI timers") we expect to run at TPL_CALLBACK almost all of the time. -Various code paths rely on this assumption. Code paths that need to -temporarily lower the TPL (e.g. for entropy gathering) will restore it -to TPL_CALLBACK. - -The entropy gathering code will be run during DRBG initialisation, -which happens during the call to startup(). In the case of iPXE -compiled as an EFI application this code will run within the scope of -efi_snp_claim() and so will execute at TPL_CALLBACK as expected. - -In the case of iPXE compiled as an EFI driver the code will -incorrectly run at TPL_APPLICATION since there is nothing within the -EFI driver entry point that raises (and restores) the TPL. The net -effect is that a build that includes the entropy-gathering code -(e.g. a build with HTTPS enabled) will return from the driver entry -point at TPL_CALLBACK, which causes a system lockup. - -Fix by raising and restoring the TPL within the EFI driver entry -point. - -Debugged-by: Ignat Korchagin -Signed-off-by: Michael Brown -(cherry picked from commit 2ae5d4338661b65c63eb5cb1a96e5b803fe7d620) ---- - src/interface/efi/efidrvprefix.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/interface/efi/efidrvprefix.c b/src/interface/efi/efidrvprefix.c -index 4fbb19ff..a8ef6673 100644 ---- a/src/interface/efi/efidrvprefix.c -+++ b/src/interface/efi/efidrvprefix.c -@@ -34,16 +34,25 @@ FILE_LICENCE ( GPL2_OR_LATER ); - */ - EFI_STATUS EFIAPI _efidrv_start ( EFI_HANDLE image_handle, - EFI_SYSTEM_TABLE *systab ) { -+ EFI_BOOT_SERVICES *bs; -+ EFI_TPL saved_tpl; - EFI_STATUS efirc; - - /* Initialise EFI environment */ - if ( ( efirc = efi_init ( image_handle, systab ) ) != 0 ) - return efirc; - -+ /* Raise TPL */ -+ bs = efi_systab->BootServices; -+ saved_tpl = bs->RaiseTPL ( TPL_CALLBACK ); -+ - /* Initialise iPXE environment */ - initialise(); - startup(); - -+ /* Restore TPL */ -+ bs->RestoreTPL ( saved_tpl ); -+ - return 0; - } - diff --git a/ipxe.spec b/ipxe.spec index 6455c0f..06ee41d 100644 --- a/ipxe.spec +++ b/ipxe.spec @@ -48,12 +48,12 @@ # # And then change these two: -%global hash 36a4c85f -%global date 20190125 +%global hash 4bd064de +%global date 20200823 Name: ipxe Version: %{date} -Release: 9.git%{hash}%{?dist} +Release: 1.git%{hash}%{?dist} Summary: A network boot loader License: GPLv2 with additional permissions and BSD @@ -65,7 +65,6 @@ Source0: %{name}-%{version}-git%{hash}.tar.xz # Sent upstream: http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html Patch0001: 0001-build-customize-configuration.patch Patch0002: 0002-Use-spec-compliant-timeouts.patch -Patch0003: 0003-efi-Raise-TPL-during-driver-entry-point.patch %ifarch %{buildarches} BuildRequires: perl-interpreter @@ -151,8 +150,6 @@ rm -rf drivers/net/ath/ath9k make_ipxe() { make %{?_smp_mflags} \ NO_WERROR=1 V=1 \ - EXTRA_CFLAGS="-Wno-address-of-packed-member -Wno-enum-conversion -Wno-format-overflow" \ - EXTRA_LDFLAGS="-z muldefs" \ GITVERSION=%{hash} \ %if 0%{?cross} CROSS_COMPILE=x86_64-linux-gnu- \ @@ -245,6 +242,10 @@ done %endif %changelog +* Tue Sep 15 2020 Cole Robinson - 20200823-1.git4bd064de.git +- Update to newer git snapshot, synced with qemu.git +- Re-enable HTTPS support, with edk2 fix included (bz 1820836) + * Fri Sep 04 2020 Merlin Mathesius - 20190125-9.git36a4c85f - Workaound fatal GCC 9 compilation/link errors - Fix conditionals for perl BuildRequires diff --git a/sources b/sources index 94ab209..28e0946 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ipxe-20190125-git36a4c85f.tar.xz) = d9c9e56ddffa9e47f422d88779530761f2fc60a6866d6817df92e01eba535c54e56995573df67281faef049d319a5bcebfc47e80f19c04239abbc6cadb18d149 +SHA512 (ipxe-20200823-git4bd064de.tar.xz) = 70c040352a5ab54e516df2f347128ff539bb7b689d3b26224c5ac073ac96b3107262beacfa8e0c604357f50bf7cc6fec86741a3d477d60b94dceb61d2365895c