[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/15] acpi: Assert sts array limit on AcpiCpuHotplug
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 05/15] acpi: Assert sts array limit on AcpiCpuHotplug_add() |
Date: |
Mon, 24 Mar 2014 13:25:05 +0200 |
From: Eduardo Habkost <address@hidden>
AcpiCpuHotplug_add() can't handle vCPU arch IDs larger than
ACPI_CPU_HOTPLUG_ID_LIMIT. Instead of corrupting memory in case the vCPU
ID is too large, use g_assert() to ensure we are not over the limit.
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/acpi/cpu_hotplug.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c
index 48928dc..2ad83a0 100644
--- a/hw/acpi/cpu_hotplug.c
+++ b/hw/acpi/cpu_hotplug.c
@@ -43,6 +43,7 @@ void AcpiCpuHotplug_add(ACPIGPE *gpe, AcpiCpuHotplug *g,
CPUState *cpu)
*gpe->sts = *gpe->sts | ACPI_CPU_HOTPLUG_STATUS;
cpu_id = k->get_arch_id(CPU(cpu));
+ g_assert((cpu_id / 8) < ACPI_GPE_PROC_LEN);
g->sts[cpu_id / 8] |= (1 << (cpu_id % 8));
}
--
MST
- [Qemu-devel] [PULL 00/15] acpi,pc,test bug fixes, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 01/15] acpi-build: fix misaligned access, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 03/15] acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 02/15] acpi-test: update expected SSDT files, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 04/15] pc: Refuse CPU hotplug if the resulting APIC ID is too large, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 05/15] acpi: Assert sts array limit on AcpiCpuHotplug_add(),
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 06/15] acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 07/15] pc: Refuse max_cpus if it results in too large APIC ID, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 08/15] i386/acpi-build: allow more than 255 elements in CPON, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 09/15] acpi-test: rebuild SSDT, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 10/15] i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 11/15] acpi-test: signature endian-ness fixes, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 12/15] acpi: fix endian-ness for table ids, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 14/15] vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 15/15] tests/acpi-test: do not fail if iasl is broken, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 13/15] sysemu.h: Document what MAX_CPUMASK_BITS really limits, Michael S. Tsirkin, 2014/03/24