From: Ranbir Singh <ranbir.sin...@dell.com> The function StartPciDevices has a check
ASSERT (RootBridge != NULL); but this comes into play only in DEBUG mode. In Release mode, there is no handling if the RootBridge value is NULL and the code proceeds to unconditionally dereference "RootBridge" which will lead to CRASH. Hence, for safety add NULL pointer checks always and return EFI_NOT_READY if RootBridge value is NULL which is one of the return values as mentioned in the function description header. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4239 Cc: Hao A Wu <hao.a...@intel.com> Cc: Ray Ni <ray...@intel.com> Co-authored-by: Veeresh Sangolli <veeresh.sango...@dellteam.com> Signed-off-by: Ranbir Singh <ranbir.sin...@dell.com> Signed-off-by: Ranbir Singh <rsi...@ventanamicro.com> --- MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c index 581e9075ad41..f43f10325f16 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c @@ -773,6 +773,11 @@ StartPciDevices ( RootBridge = GetRootBridgeByHandle (Controller); ASSERT (RootBridge != NULL); + + if (RootBridge == NULL) { + return EFI_NOT_READY; + } + ThisHostBridge = RootBridge->PciRootBridgeIo->ParentHandle; CurrentLink = mPciDevicePool.ForwardLink; -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109111): https://edk2.groups.io/g/devel/message/109111 Mute This Topic: https://groups.io/mt/101612810/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-