Skip to content

Commit

Permalink
x86/PCI: MMCONFIG: reject MMCONFIG apertures at address zero
Browse files Browse the repository at this point in the history
Since all MMCONFIG regions go through pci_mmconfig_add(), we can test the
address once there.  If the caller supplies an address of zero, we never
insert it in the pci_mmcfg_config[] table, so no need to test it elsewhere.

Reviewed-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
  • Loading branch information
Bjorn Helgaas authored and Jesse Barnes committed Nov 24, 2009
1 parent 463a5df commit f7ca698
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions arch/x86/pci/mmconfig-shared.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ static __init struct acpi_mcfg_allocation *pci_mmconfig_add(int segment,
int new_num = pci_mmcfg_config_num + 1;
int i = pci_mmcfg_config_num;

if (addr == 0)
return NULL;

new = kzalloc(sizeof(pci_mmcfg_config[0]) * new_num, GFP_KERNEL);
if (!new)
return NULL;
Expand Down Expand Up @@ -471,8 +474,7 @@ static void __init pci_mmcfg_reject_broken(int early)
typeof(pci_mmcfg_config[0]) *cfg;
int i;

if ((pci_mmcfg_config_num == 0) ||
(pci_mmcfg_config[0].address == 0))
if (pci_mmcfg_config_num == 0)
return;

for (i = 0; i < pci_mmcfg_config_num; i++) {
Expand Down Expand Up @@ -616,8 +618,7 @@ static void __init __pci_mmcfg_init(int early)

pci_mmcfg_reject_broken(early);

if ((pci_mmcfg_config_num == 0) ||
(pci_mmcfg_config[0].address == 0))
if (pci_mmcfg_config_num == 0)
return;

if (pci_mmcfg_arch_init())
Expand Down Expand Up @@ -649,8 +650,7 @@ static int __init pci_mmcfg_late_insert_resources(void)
*/
if ((pci_mmcfg_resources_inserted == 1) ||
(pci_probe & PCI_PROBE_MMCONF) == 0 ||
(pci_mmcfg_config_num == 0) ||
(pci_mmcfg_config[0].address == 0))
(pci_mmcfg_config_num == 0))
return 1;

/*
Expand Down

0 comments on commit f7ca698

Please sign in to comment.