File ovmf-OvmfPkg-Rerun-dispatcher-after-initializing-virtio-r.patch of Package ovmf.36445

From 9c4542a0645ac832e22d0c3da0f1ee7b127a316f Mon Sep 17 00:00:00 2001
From: Oliver Steffen <osteffen@redhat.com>
Date: Mon, 4 Nov 2024 19:00:11 +0100
Subject: [PATCH] OvmfPkg: Rerun dispatcher after initializing virtio-rng

Since the pixiefail CVE fix the network stack requires a hardware
random number generator. This can currently be a modern CPU supporting
the RDRAND instruction or a virtio-rng device.
The latter is initialized during the BDS phase.
To ensure all depending (network) modules are also started, we need to
run the dispatcher once more after the device was initialized.
Without this, network boot is not available under certain hardware
configurations.

Fixes: 4c4ceb2ceb ("NetworkPkg: SECURITY PATCH CVE-2023-45237")

Analysed-by: Stefano Garzarella <sgarzare@redhat.com>
Suggested-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
---
 OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 2 ++
 1 file changed, 2 insertions(+)

Index: edk2-edk2-stable202308/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
===================================================================
--- edk2-edk2-stable202308.orig/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ edk2-edk2-stable202308/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -669,6 +669,8 @@ ConnectVirtioPciRng (
     if (EFI_ERROR (Status)) {
       goto Error;
     }
+
+    gDS->Dispatch ();
   }
 
   return EFI_SUCCESS;
openSUSE Build Service is sponsored by