commit ovmf for openSUSE:Factory:NonFree

Hello community, here is the log from the commit of package ovmf for openSUSE:Factory:NonFree checked in at 2015-08-01 11:39:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory:NonFree/ovmf (Old) and /work/SRC/openSUSE:Factory:NonFree/.ovmf.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ovmf" Changes: -------- --- /work/SRC/openSUSE:Factory:NonFree/ovmf/ovmf.changes 2015-07-14 17:46:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory:NonFree/.ovmf.new/ovmf.changes 2015-08-01 11:39:17.000000000 +0200 @@ -1,0 +2,77 @@ +Wed Jul 29 09:40:38 UTC 2015 - glin@suse.com + +- Update to R18107 + + NetworkPkg: Fix the issue cannot boot to UEFI Network after + reset + + ArmVirtPkg: implement DT-based ArmGicArchLib + + OvmfPkg: fix conversion specifiers in DEBUG format strings + + Reduce reserved memory consumption + + MdeModulePkg: Make boot option description unique + + NetworkPkg: Fix the issue EfiPxeBcDhcp() may return wrong + status. + + ArmVirtPkg/ArmVirtQemu: support SMBIOS + + ArmVirtPkg: QemuFwCfgToPcdDxe: set SMBIOS entry point version + dynamically + + ArmVirtPkg: add QemuFwCfgToPcdDxe + + OvmfPkg: SmbiosPlatformDxe: restrict current Xen code to + IA32/X64 + + OvmfPkg: SmbiosPlatformDxe: move IsEntryPointStructureValid() + to Xen.c + + OvmfPkg: AcpiS3SaveDxe: drop EFI_ACPI_S3_SAVE_PROTOCOL + + OvmfPkg: install DxeSmmReadyToLock in PlatformBdsLib + + IntelFrameworkModulePkg/GenericBdsLib: remove AcpiS3->S3Save() + call + + OvmfPkg: PlatformBdsLib: signal End-of-Dxe event group + + OvmfPkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe + + OvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback +- Add ovmf-netlib-random-seed.patch to avoid the DHCPv6 IAID + collision + +------------------------------------------------------------------- +Fri Jul 24 03:40:08 UTC 2015 - glin@suse.com + +- Update to R18030 + + ArmVirtPkg: Make terminal type consistent + + NetworkPkg: Add the unspecified address check for DNS6 + StationIp + + ShellPkg: Add optional 'tftp' EFI Shell command + + NetworkPkg: Fix bios bootup hang issue when enable network + + SecurityPkg: Fix DBX Variable Read Error in + ImageVerificationLib + + SecurityPkg: Correct BootOrder/Boot#### measurement behavior + + ArmVirtPkg/ArmVirtQemu.dsc: Remove Linux specific boot path + + ArmPkg/BdsLib: Remove Linux loader from BdsLib + + ArmPlatformPkg: Add the LinuxLoader.efi EFI application + + ArmPkg/BdsLib: Replaced BdsLoadApplication() by + LocateEfiApplicationInFv() + + OvmfPkg: QemuBootOrderLib: recognize extra PCI root buses + + OvmfPkg: QemuBootOrderLib: introduce ExtraRootBusMap + + OvmfPkg: PciHostBridgeDxe: shorten search for extra root buses + + OvmfPkg: PciHostBridgeDxe: look for all root buses + + OvmfPkg: PciHostBridgeDxe: eliminate + PCI_HOST_BRIDGE_INSTANCE.RootBridgeNumber + + OvmfPkg: PciHostBridgeDxe: use private buffer in + RootBridgeIoConfiguration() + + OvmfPkg: PciHostBridgeDxe: release resources on driver entry + failure + + OvmfPkg: PciHostBridgeDxe: factor out InitRootBridge() function + + OvmfPkg: PciHostBridgeDxe: embed device path in private root + bridge struct + + OvmfPkg: PciHostBridgeDxe: kill RootBridgeNumber and + RootBridgeAttribute + + OvmfPkg: PciHostBridgeDxe: eliminate nominal support for + multiple host bridges + + OvmfPkg: PlatformBdsLib: connect all PCI root buses +- Refresh patches + + 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch + + 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch + + 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch + + 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch + + 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch + + 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch + + 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch + + 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch + + 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch + + 0010-avoid-potentially-uninitialized-variable.diff + +------------------------------------------------------------------- Old: ---- ovmf-0.1+svn17935.tar.xz New: ---- ovmf-0.1+svn18107.tar.xz ovmf-netlib-random-seed.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ovmf.spec ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:18.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:18.000000000 +0200 @@ -24,7 +24,7 @@ Summary: Open Virtual Machine Firmware License: BSD-2-Clause Group: System/Emulators/PC -Version: 0.1+svn17935 +Version: 0.1+svn18107 Release: 0 Source0: %{name}-%{version}.tar.xz Source1: https://www.openssl.org/source/openssl-1.0.2d.tar.gz @@ -66,6 +66,7 @@ # PATCH-FIX-OPENSUSE 0010-avoid-potentially-uninitialized-variable.diff bnc#123456 you@foo -- descr Patch13: 0010-avoid-potentially-uninitialized-variable.diff Patch14: ovmf-gcc5-conf.patch +Patch15: ovmf-netlib-random-seed.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: libuuid-devel BuildRequires: fdupes @@ -174,6 +175,7 @@ %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 # Intel has special patches for openssl pushd CryptoPkg/Library/OpensslLib/openssl-1.0.2d patch -p0 -i ../EDKII_openssl-1.0.2d.patch ++++++ 0001-ArmPlatformPkg-ArmVirtualizationPkg-enable-DEBUG_VER.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:18.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:18.000000000 +0200 @@ -1,4 +1,4 @@ -From 2912c84763b02d0aa48103d4d7c89d0043237ea5 Mon Sep 17 00:00:00 2001 +From 531fca06adb33cc0ccad04a39ca3b9893c7dc761 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Sun, 21 Sep 2014 23:12:09 +0200 Subject: [PATCH 1/9] ArmPlatformPkg/ArmVirtualizationPkg: enable DEBUG_VERBOSE @@ -10,7 +10,7 @@ 1 file changed, 1 insertion(+) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index 0671469..ae9aed1 100644 +index 0d4f4b0..cf49f9a 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -99,6 +99,7 @@ ++++++ 0002-ArmPlatformPkg-Bds-generate-ESP-Image-boot-option-if.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 66f97dc3724c0f9c7823b37ae8d1c1133c747a43 Mon Sep 17 00:00:00 2001 +From a1ad5bbe362469dbbd3e47263d055994b2d7ef4c Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Wed, 27 Nov 2013 01:07:05 +0100 Subject: [PATCH 2/9] ArmPlatformPkg/Bds: generate ESP Image boot option if @@ -20,7 +20,7 @@ 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 1fab439..dd391b1 100644 +index 3ee866c..803cd08 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -20,6 +20,7 @@ @@ -31,7 +31,7 @@ #define EFI_SET_TIMER_TO_SECOND 10000000 -@@ -238,34 +239,53 @@ DefineDefaultBootEntries ( +@@ -232,34 +233,53 @@ DefineDefaultBootEntries ( Status = gRT->GetVariable (L"BootOrder", &gEfiGlobalVariableGuid, NULL, &Size, NULL); if (Status == EFI_NOT_FOUND) { if ((PcdGetPtr(PcdDefaultBootDevicePath) == NULL) || (StrLen ((CHAR16*)PcdGetPtr(PcdDefaultBootDevicePath)) == 0)) { @@ -109,10 +109,10 @@ // Create the entry is the Default values are correct if (BootDevicePath != NULL) { diff --git a/ArmPlatformPkg/Bds/Bds.inf b/ArmPlatformPkg/Bds/Bds.inf -index f4c0f1c..1c6c8bf 100644 +index 06e8d91..442bf2f 100644 --- a/ArmPlatformPkg/Bds/Bds.inf +++ b/ArmPlatformPkg/Bds/Bds.inf -@@ -55,6 +55,7 @@ +@@ -60,6 +60,7 @@ gEfiFileSystemInfoGuid gArmGlobalVariableGuid gFdtVariableGuid ++++++ 0003-ArmPlatformPkg-Bds-check-for-other-defaults-too-if-u.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 69f2a53baf9985fc08c494df2faba72ccde8b726 Mon Sep 17 00:00:00 2001 +From 60f86cf1b8822cbf18fdcf45de83d25d3af723ac Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Fri, 13 Dec 2013 22:02:37 +0100 Subject: [PATCH 3/9] ArmPlatformPkg/Bds: check for other defaults too if user @@ -12,7 +12,7 @@ 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index dd391b1..b197c96 100644 +index 803cd08..e8c6846 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -18,6 +18,7 @@ @@ -87,7 +87,7 @@ EFI_STATUS DefineDefaultBootEntries ( VOID -@@ -248,10 +306,7 @@ DefineDefaultBootEntries ( +@@ -242,10 +300,7 @@ DefineDefaultBootEntries ( &NrHandles, &Handles); if (!EFI_ERROR (Status)) { ASSERT (NrHandles > 0); @@ -100,17 +100,17 @@ } if (EFI_ERROR (Status)) { diff --git a/ArmPlatformPkg/Bds/Bds.inf b/ArmPlatformPkg/Bds/Bds.inf -index 1c6c8bf..d30fbb0 100644 +index 442bf2f..f516cf7 100644 --- a/ArmPlatformPkg/Bds/Bds.inf +++ b/ArmPlatformPkg/Bds/Bds.inf -@@ -68,6 +68,7 @@ +@@ -73,6 +73,7 @@ gEfiFirmwareVolumeBlock2ProtocolGuid gEfiDhcp4ServiceBindingProtocolGuid gEfiMtftp4ServiceBindingProtocolGuid + gEfiSimpleFileSystemProtocolGuid - [Pcd] - gArmPlatformTokenSpaceGuid.PcdFirmwareVendor + [FeaturePcd] + gArmPlatformTokenSpaceGuid.PcdBdsLinuxSupport -- 1.8.3.1 ++++++ 0004-ArmPlatformPkg-ArmVirtualizationPkg-auto-detect-boot.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 21b5731ae18ca386455563e93e8a8cdeb87acadb Mon Sep 17 00:00:00 2001 +From e570c1744c727ad8de6eff8d808e86a6e77412ad Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Sun, 21 Sep 2014 23:16:14 +0200 Subject: [PATCH 4/9] ArmPlatformPkg/ArmVirtualizationPkg: auto-detect boot @@ -11,7 +11,7 @@ 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index ae9aed1..61ddf57 100644 +index cf49f9a..eb6e31a 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -131,9 +131,9 @@ @@ -24,9 +24,9 @@ + gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from first ESP" + gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"" + gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"" - gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0 # + # Settings for ARM BDS -- use the serial console (ConIn & ConOut). -- 1.8.3.1 ++++++ 0005-ArmPlatformPkg-Bds-initialize-ConIn-ConOut-ErrOut-be.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 5e4278d12c5bf8c40b7c0b431fda4f67b133cfc9 Mon Sep 17 00:00:00 2001 +From 39705caa215d195b8012d6de5d4c75a47ef3cf5f Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Fri, 17 Oct 2014 01:06:38 +0200 Subject: [PATCH 5/9] ArmPlatformPkg/Bds: initialize ConIn/ConOut/ErrOut before @@ -29,10 +29,10 @@ 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index b197c96..3ad5e2e 100644 +index e8c6846..6df8691 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c -@@ -620,9 +620,6 @@ BdsEntry ( +@@ -590,9 +590,6 @@ BdsEntry ( 0, NULL); } @@ -42,7 +42,7 @@ // Now we need to setup the EFI System Table with information about the console devices. InitializeConsole (); -@@ -633,6 +630,9 @@ BdsEntry ( +@@ -603,6 +600,9 @@ BdsEntry ( Status = gBS->CalculateCrc32 ((VOID*)gST, gST->Hdr.HeaderSize, &gST->Hdr.CRC32); ASSERT_EFI_ERROR (Status); ++++++ 0006-ArmPlatformPkg-Bds-let-FindCandidate-search-all-file.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 85e6b5da3155e279c2bc5541e19c60f07ceacbe4 Mon Sep 17 00:00:00 2001 +From ca25830e9930469f447507e7c9a270ca99840ff3 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Thu, 13 Nov 2014 15:18:41 +0100 Subject: [PATCH 6/9] ArmPlatformPkg/Bds: let FindCandidate() search all @@ -21,7 +21,7 @@ 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 3ad5e2e..6472ece 100644 +index 6df8691..fb88d97 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -214,7 +214,7 @@ InitializeConsole ( @@ -77,7 +77,7 @@ EFI_STATUS DefineDefaultBootEntries ( VOID -@@ -297,18 +334,8 @@ DefineDefaultBootEntries ( +@@ -291,18 +328,8 @@ DefineDefaultBootEntries ( Status = gRT->GetVariable (L"BootOrder", &gEfiGlobalVariableGuid, NULL, &Size, NULL); if (Status == EFI_NOT_FOUND) { if ((PcdGetPtr(PcdDefaultBootDevicePath) == NULL) || (StrLen ((CHAR16*)PcdGetPtr(PcdDefaultBootDevicePath)) == 0)) { ++++++ 0007-ArmPlatformPkg-Bds-FindCandidateOnHandle-log-full-de.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 2352cd9cecafafb1e113d982101f82dcc09496d0 Mon Sep 17 00:00:00 2001 +From 9aeedd00e2a771e209940d58b9e4cc042e55675b Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Thu, 13 Nov 2014 15:18:42 +0100 Subject: [PATCH 7/9] ArmPlatformPkg/Bds: FindCandidateOnHandle(): log full @@ -15,7 +15,7 @@ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 6472ece..74c4c75 100644 +index fb88d97..57d4d34 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -16,6 +16,7 @@ @@ -50,12 +50,12 @@ CloseRoot: RootDir->Close (RootDir); diff --git a/ArmPlatformPkg/Bds/Bds.inf b/ArmPlatformPkg/Bds/Bds.inf -index d30fbb0..6be7320 100644 +index f516cf7..796e625 100644 --- a/ArmPlatformPkg/Bds/Bds.inf +++ b/ArmPlatformPkg/Bds/Bds.inf -@@ -49,6 +49,7 @@ - PrintLib +@@ -54,6 +54,7 @@ BaseLib + FdtLib NetLib + DevicePathLib ++++++ 0008-ArmPlatformPkg-Bds-fall-back-to-Boot-Menu-when-no-de.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From 3f7a835f2f8cc76375764e3885c5af5bd810bcec Mon Sep 17 00:00:00 2001 +From dd23d273923d7ab48b0e23817e65b50e2d686105 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Fri, 21 Nov 2014 02:52:56 +0100 Subject: [PATCH 8/9] ArmPlatformPkg/Bds: fall back to Boot Menu when no @@ -23,10 +23,10 @@ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 74c4c75..8f1e3f5 100644 +index 57d4d34..81643b6 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c -@@ -479,6 +479,15 @@ StartDefaultBootOnTimeout ( +@@ -449,6 +449,15 @@ StartDefaultBootOnTimeout ( EFI_STATUS Status; EFI_INPUT_KEY Key; @@ -42,7 +42,7 @@ Size = sizeof(UINT16); Timeout = (UINT16)PcdGet16 (PcdPlatformBootTimeOut); Status = GetGlobalEnvironmentVariable (L"Timeout", &Timeout, &Size, (VOID**)&TimeoutPtr); -@@ -515,9 +524,6 @@ StartDefaultBootOnTimeout ( +@@ -485,9 +494,6 @@ StartDefaultBootOnTimeout ( // In case of Timeout we start the default boot selection if (Timeout == 0) { @@ -52,7 +52,7 @@ for (Index = 0; Index < BootOrderSize / sizeof (UINT16); Index++) { UnicodeSPrint (BootVariableName, 9 * sizeof(CHAR16), L"Boot%04X", BootOrder[Index]); Status = BdsStartBootOption (BootVariableName); -@@ -527,9 +533,10 @@ StartDefaultBootOnTimeout ( +@@ -497,9 +503,10 @@ StartDefaultBootOnTimeout ( } // In case of success, we should not return from this call. } ++++++ 0009-ArmPlatformPkg-Bds-always-connect-drivers-before-loo.patch ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -1,4 +1,4 @@ -From f59d5410e06c02766fae2ee89357663a61a9e706 Mon Sep 17 00:00:00 2001 +From 143021fdf4427ad5bd5b0ee304e5cfc95054c410 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek <lersek@redhat.com> Date: Fri, 21 Nov 2014 03:40:53 +0100 Subject: [PATCH 9/9] ArmPlatformPkg/Bds: always connect drivers before looking @@ -18,10 +18,10 @@ 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 8f1e3f5..355717e 100644 +index 81643b6..fa4422b 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c -@@ -342,7 +342,6 @@ DefineDefaultBootEntries ( +@@ -336,7 +336,6 @@ DefineDefaultBootEntries ( Status = gRT->GetVariable (L"BootOrder", &gEfiGlobalVariableGuid, NULL, &Size, NULL); if (Status == EFI_NOT_FOUND) { if ((PcdGetPtr(PcdDefaultBootDevicePath) == NULL) || (StrLen ((CHAR16*)PcdGetPtr(PcdDefaultBootDevicePath)) == 0)) { @@ -29,7 +29,7 @@ Status = FindCandidate (&BootDevicePath); if (EFI_ERROR (Status)) { DEBUG ((EFI_D_ERROR, "failed to auto-create default boot option: %r\n", -@@ -672,6 +671,8 @@ BdsEntry ( +@@ -642,6 +641,8 @@ BdsEntry ( Status = gBS->CalculateCrc32 ((VOID*)gST, gST->Hdr.HeaderSize, &gST->Hdr.CRC32); ASSERT_EFI_ERROR (Status); ++++++ 0010-avoid-potentially-uninitialized-variable.diff ++++++ --- /var/tmp/diff_new_pack.4lXt7v/_old 2015-08-01 11:39:19.000000000 +0200 +++ /var/tmp/diff_new_pack.4lXt7v/_new 2015-08-01 11:39:19.000000000 +0200 @@ -4,11 +4,9 @@ Subject: [PATCH 10/10] avoid potentially uninitialized variable --- - ArmPlatformPkg/Bds/Bds.c | 2 +- + ArmPlatformPkg/Bds/Bds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c -index 771bf11..6fa0dd0 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -323,7 +323,7 @@ DefineDefaultBootEntries ( @@ -17,9 +15,6 @@ EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL* EfiDevicePathFromTextProtocol; - EFI_DEVICE_PATH* BootDevicePath; + EFI_DEVICE_PATH* BootDevicePath = NULL; - UINT8* OptionalData; - UINTN OptionalDataSize; - ARM_BDS_LOADER_ARGUMENTS* BootArguments; --- -2.2.2 - + UINTN CmdLineSize; + UINTN CmdLineAsciiSize; + CHAR16* DefaultBootArgument; ++++++ ovmf-0.1+svn17935.tar.xz -> ovmf-0.1+svn18107.tar.xz ++++++ /work/SRC/openSUSE:Factory:NonFree/ovmf/ovmf-0.1+svn17935.tar.xz /work/SRC/openSUSE:Factory:NonFree/.ovmf.new/ovmf-0.1+svn18107.tar.xz differ: char 25, line 1 ++++++ ovmf-netlib-random-seed.patch ++++++ From: "Fu, Siyuan" <siyuan.fu@intel.com> To: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org> Subject: [edk2] [Patch] MdeModulePkg: Use monotonic count to initialize the NetLib random seed. NetRandomInitSeed() function use current time to initialize the random seed, while in some platform the time service is not accuracy that make the random seed collision. This patch add the monotonic count to the seed to avoid this. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> --- MdeModulePkg/Include/Library/NetLib.h | 10 +++++----- MdeModulePkg/Library/DxeNetLib/DxeNetLib.c | 12 ++++++++---- 2 files changed, 13 insertions(+), 9 deletions(-) --- a/MdeModulePkg/Include/Library/NetLib.h +++ b/MdeModulePkg/Include/Library/NetLib.h @@ -530,13 +530,13 @@ NetPutUint32 ( ); /** - Initialize a random seed using current time. + Initialize a random seed using current time and monotonic count. - Get current time first. Then initialize a random seed based on some basic - mathematical operations on the hour, day, minute, second, nanosecond and year - of the current time. + Get current time and monotonic count first. Then initialize a random seed + based on some basic mathematics operation on the hour, day, minute, second, + nanosecond and year of the current time and the monotonic count value. - @return The random seed, initialized with current time. + @return The random seed initialized with current time. **/ UINT32 --- a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c +++ b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c @@ -853,11 +853,11 @@ Ip6Swap128 ( } /** - Initialize a random seed using current time. + Initialize a random seed using current time and monotonic count. - Get current time first. Then initialize a random seed based on some basic - mathematics operation on the hour, day, minute, second, nanosecond and year - of the current time. + Get current time and monotonic count first. Then initialize a random seed + based on some basic mathematics operation on the hour, day, minute, second, + nanosecond and year of the current time and the monotonic count value. @return The random seed initialized with current time. @@ -870,12 +870,16 @@ NetRandomInitSeed ( { EFI_TIME Time; UINT32 Seed; + UINT64 MonotonicCount; gRT->GetTime (&Time, NULL); Seed = (~Time.Hour << 24 | Time.Day << 16 | Time.Minute << 8 | Time.Second); Seed ^= Time.Nanosecond; Seed ^= Time.Year << 7; + gBS->GetNextMonotonicCount (&MonotonicCount); + Seed += (UINT32) MonotonicCount; + return Seed; }
participants (1)
-
root@hilbert.suse.de