qemu/hw/acpi
Jonathan Cameron 04b3d34d5c hmat acpi: Fix out of bounds access due to missing use of indirection
With a numa set up such as

-numa nodeid=0,cpus=0 \
-numa nodeid=1,memdev=mem \
-numa nodeid=2,cpus=1

and appropriate hmat_lb entries the initiator list is correctly
computed and writen to HMAT as 0,2 but then the LB data is accessed
using the node id (here 2), landing outside the entry_list array.

Stash the reverse lookup when writing the initiator list and use
it to get the correct array index index.

Fixes: 4586a2cb83 ("hmat acpi: Build System Locality Latency and Bandwidth Information Structure(s)")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240307160326.31570-3-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 74e2845c5f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-03-14 21:24:34 +03:00
..
acpi_interface.c acpi: add interface to build device specific AML 2022-06-09 19:32:48 -04:00
acpi-cpu-hotplug-stub.c hw/acpi: refactor acpi hp modules so that targets can just use what they need 2021-09-04 09:07:46 -04:00
acpi-mem-hotplug-stub.c hw/acpi: refactor acpi hp modules so that targets can just use what they need 2021-09-04 09:07:46 -04:00
acpi-nvdimm-stub.c hw/acpi: refactor acpi hp modules so that targets can just use what they need 2021-09-04 09:07:46 -04:00
acpi-pci-hotplug-stub.c acpi: fix acpi_index migration 2022-04-06 20:03:26 +01:00
acpi-stub.c Include qmp-commands.h exactly where needed 2018-02-09 13:52:10 +01:00
acpi-x86-stub.c acpi: x86: set enabled when composing _MAT entries 2021-10-05 17:30:57 -04:00
aml-build-stub.c acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors 2022-11-07 14:00:29 -05:00
aml-build.c acpi: fadt: support revision 6.0 of the ACPI specification 2022-11-07 13:12:19 -05:00
bios-linker-loader.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core.c acpi: fix QEMU crash when started with SLIC table 2022-01-07 19:30:13 -05:00
cpu_hotplug.c acpi: cpuhp: fix guest-visible maximum access size to the legacy reg block 2023-03-29 10:20:04 +03:00
cpu.c Remove unnecessary minimum_version_id_old fields 2022-01-28 15:38:23 +01:00
cxl-stub.c acpi/cxl: Add _OSC implementation (9.14.2) 2022-05-13 06:13:36 -04:00
cxl.c hw/acpi/cxl: Pass in the CXLState directly rather than MachineState 2022-06-09 19:32:49 -04:00
erst.c hw/acpi/erst: Do not ignore Error* in realize handler 2023-12-20 19:11:10 +03:00
generic_event_device.c hw/acpi: Add ospm_status hook implementation for acpi-ged 2022-09-22 16:38:28 +01:00
ghes-stub.c hw/acpi: Provide function acpi_ghes_present() 2021-06-21 16:49:37 +01:00
ghes.c Fix 'writeable' typos 2022-06-08 19:38:47 +01:00
hmat.c hmat acpi: Fix out of bounds access due to missing use of indirection 2024-03-14 21:24:34 +03:00
hmat.h acpi: Permit OEM ID and OEM table ID fields to be changed 2021-02-05 08:52:59 -05:00
ich9.c Remove unnecessary minimum_version_id_old fields 2022-01-28 15:38:23 +01:00
ipmi-stub.c acpi: ipmi: use AcpiDevAmlIf interface to build IPMI device descriptors 2022-06-09 19:32:49 -04:00
ipmi.c acpi: ipmi: use AcpiDevAmlIf interface to build IPMI device descriptors 2022-06-09 19:32:49 -04:00
Kconfig acpi/cxl: Add _OSC implementation (9.14.2) 2022-05-13 06:13:36 -04:00
memory_hotplug.c hw/acpi/memory_hotplug: Remove unused 'hw/acpi/pc-hotplug.h' header 2022-02-21 10:18:06 +01:00
meson.build acpi: add interface to build device specific AML 2022-06-09 19:32:48 -04:00
nvdimm.c acpi/nvdimm: Implement ACPI NVDIMM Label Methods 2022-11-02 06:56:31 -04:00
pci.c acpi: build_mcfg: use acpi_table_begin()/acpi_table_end() instead of build_header() 2021-10-05 17:30:57 -04:00
pcihp.c acpi: pcihp: allow repeating hot-unplug requests 2023-05-18 21:09:41 +03:00
piix4.c hw/acpi/piix4: remove unused piix4_pm_initfn() function 2022-06-11 11:44:47 +02:00
tco.c Remove unnecessary minimum_version_id_old fields 2022-01-28 15:38:23 +01:00
tpm.c docs: fix references to docs/specs/tpm.rst 2021-06-02 06:51:09 +02:00
trace-events acpi/nvdimm: Define trace events for NVDIMM and substitute nvdimm_debug() 2022-07-26 10:37:46 -04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
utils.c acpi: Set proper maximum size for "etc/acpi/rsdp" blob 2021-03-22 18:58:19 -04:00
viot.c hw/acpi/viot: sort VIOT ACPI table entries by PCI host bridge min_bus 2022-06-09 19:32:49 -04:00
viot.h hw/acpi: Add VIOT table 2021-11-01 18:49:10 -04:00
vmgenid.c acpi: vmgenid_build_acpi: use acpi_table_begin()/acpi_table_end() instead of build_header() 2021-10-05 17:30:57 -04:00