[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/15] acpi/crs: Prevent bad ranges for host bridges
From: |
Michael S. Tsirkin |
Subject: |
[PULL 03/15] acpi/crs: Prevent bad ranges for host bridges |
Date: |
Fri, 30 Oct 2020 10:11:54 -0400 |
From: Ben Widawsky <ben.widawsky@intel.com>
Prevent _CRS resources being quietly chopped off and instead throw an
assertion. _CRS is used by host bridges to declare regions of io and/or
memory that they consume. On some (all?) platforms the host bridge
doesn't have PCI header space and so they need some way to convey the
information.
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Message-Id: <20201026193924.985014-1-ben.widawsky@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
---
hw/i386/acpi-build.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index e3a4bc206c..98ff9f5cef 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -866,6 +866,8 @@ static Aml *build_crs(PCIHostState *host, CrsRangeSet
*range_set)
crs_range_merge(temp_range_set.mem_ranges);
for (i = 0; i < temp_range_set.mem_ranges->len; i++) {
entry = g_ptr_array_index(temp_range_set.mem_ranges, i);
+ assert(entry->limit <= UINT32_MAX &&
+ (entry->limit - entry->base + 1) <= UINT32_MAX);
aml_append(crs,
aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED,
AML_MAX_FIXED, AML_NON_CACHEABLE,
--
MST
- [PULL 11/15] pci: Change error_report to assert(3), (continued)
- [PULL 11/15] pci: Change error_report to assert(3), Michael S. Tsirkin, 2020/10/30
- [PULL 12/15] pci: Disallow improper BAR registration for type 1, Michael S. Tsirkin, 2020/10/30
- [PULL 13/15] vhost-blk: set features before setting inflight feature, Michael S. Tsirkin, 2020/10/30
- [PULL 14/15] virtio: skip guest index check on device load, Michael S. Tsirkin, 2020/10/30
- [PULL 15/15] intel_iommu: Fix two misuse of "0x%u" prints, Michael S. Tsirkin, 2020/10/30
- [PULL 01/15] vhost-vdpa: negotiate VIRTIO_NET_F_STATUS with driver, Michael S. Tsirkin, 2020/10/30
- Re: [PULL 00/15] pc,pci,vhost,virtio: misc fixes, no-reply, 2020/10/30
- [PULL 00/15] pc,pci,vhost,virtio: misc fixes, Michael S. Tsirkin, 2020/10/30
- [PULL 01/15] vhost-vdpa: negotiate VIRTIO_NET_F_STATUS with driver, Michael S. Tsirkin, 2020/10/30
- [PULL 02/15] vhost-vsock: set vhostfd to non-blocking mode, Michael S. Tsirkin, 2020/10/30
- [PULL 03/15] acpi/crs: Prevent bad ranges for host bridges,
Michael S. Tsirkin <=
- [PULL 06/15] hw/pci: Extract pci_bus_change_irq_level() from pci_change_irq_level(), Michael S. Tsirkin, 2020/10/30
- [PULL 04/15] acpi/crs: Support ranges > 32b for hosts, Michael S. Tsirkin, 2020/10/30
- [PULL 08/15] vhost: Don't special case vq->used_phys in vhost_get_log_size(), Michael S. Tsirkin, 2020/10/30
- [PULL 09/15] pc: Implement -no-hpet as sugar for -machine hpet=on, Michael S. Tsirkin, 2020/10/30
- [PULL 13/15] vhost-blk: set features before setting inflight feature, Michael S. Tsirkin, 2020/10/30
- [PULL 07/15] pci: Assert irqnum is between 0 and bus->nirqs in pci_bus_change_irq_level, Michael S. Tsirkin, 2020/10/30
- [PULL 05/15] hw/virtio/vhost-vdpa: Fix Coverity CID 1432864, Michael S. Tsirkin, 2020/10/30
- [PULL 10/15] pci: advertise a page aligned ATS, Michael S. Tsirkin, 2020/10/30
- [PULL 12/15] pci: Disallow improper BAR registration for type 1, Michael S. Tsirkin, 2020/10/30
- [PULL 14/15] virtio: skip guest index check on device load, Michael S. Tsirkin, 2020/10/30