From cecfd42916d9376282126343c4ca01e8660ff9d5 Mon Sep 17 00:00:00 2001 From: Liav A Date: Fri, 21 Jan 2022 18:13:34 +0200 Subject: [PATCH] Kernel/PCI: Verify Access is not initialized before initializing it There's no valid case where we should try to initialize the Access singleton multiple times, therefore just assert if it ever happens. --- Kernel/Bus/PCI/Access.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Kernel/Bus/PCI/Access.cpp b/Kernel/Bus/PCI/Access.cpp index d7a837b66a..c9fb04e81f 100644 --- a/Kernel/Bus/PCI/Access.cpp +++ b/Kernel/Bus/PCI/Access.cpp @@ -88,9 +88,7 @@ UNMAP_AFTER_INIT bool Access::find_and_register_pci_host_bridges_from_acpi_mcfg_ UNMAP_AFTER_INIT bool Access::initialize_for_multiple_pci_domains(PhysicalAddress mcfg_table) { - if (Access::is_initialized()) - return false; - + VERIFY(!Access::is_initialized()); auto* access = new Access(); if (!access->find_and_register_pci_host_bridges_from_acpi_mcfg_table(mcfg_table)) return false; @@ -101,9 +99,7 @@ UNMAP_AFTER_INIT bool Access::initialize_for_multiple_pci_domains(PhysicalAddres UNMAP_AFTER_INIT bool Access::initialize_for_one_pci_domain() { - if (Access::is_initialized()) { - return false; - } + VERIFY(!Access::is_initialized()); auto* access = new Access(); auto host_bridge = HostBridge::must_create_with_io_access(); access->add_host_controller(move(host_bridge));