From a56ec52966412cd44dd2427ba569d1e7b89a6c6d Mon Sep 17 00:00:00 2001 From: Oliver Steffen Date: Mon, 4 Nov 2024 19:00:11 +0100 Subject: [PATCH] OvmfPkg: Rerun dispatcher after initializing virtio-rng RH-Author: Oliver Steffen RH-MergeRequest: 106: OvmfPkg: Rerun dispatcher after initializing virtio-rng RH-Jira: RHEL-66188 RH-Acked-by: Gerd Hoffmann RH-Commit: [1/1] a62e445ae8e45d656aaa2ea5f1875541e658f1d8 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 Suggested-by: Gerd Hoffmann Signed-off-by: Oliver Steffen --- OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c index 70d648c7e3..eb97d67b62 100644 --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c @@ -558,6 +558,8 @@ ConnectVirtioPciRng ( if (EFI_ERROR (Status)) { goto Error; } + + gDS->Dispatch (); } return EFI_SUCCESS; -- 2.45.2