aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/amd64/mptable.c2
-rw-r--r--sys/i386/i386/mptable.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c
index 7222748571ba9..d4683d5fb941e 100644
--- a/sys/amd64/amd64/mptable.c
+++ b/sys/amd64/amd64/mptable.c
@@ -893,6 +893,8 @@ mptable_pci_probe_table(int bus)
return (EINVAL);
if (pci0 == -1 || pci0 + bus > mptable_maxbusid)
return (ENXIO);
+ if (busses[pci0 + bus].bus_type != PCI)
+ return (ENXIO);
args.bus = pci0 + bus;
args.found = 0;
mptable_walk_table(mptable_pci_probe_table_handler, &args);
diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c
index 7222748571ba9..d4683d5fb941e 100644
--- a/sys/i386/i386/mptable.c
+++ b/sys/i386/i386/mptable.c
@@ -893,6 +893,8 @@ mptable_pci_probe_table(int bus)
return (EINVAL);
if (pci0 == -1 || pci0 + bus > mptable_maxbusid)
return (ENXIO);
+ if (busses[pci0 + bus].bus_type != PCI)
+ return (ENXIO);
args.bus = pci0 + bus;
args.found = 0;
mptable_walk_table(mptable_pci_probe_table_handler, &args);