All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/4] pc: Ensure APIC ID limits before aborting or corrupting memory
@ 2014-03-12 18:28 Eduardo Habkost
  2014-03-12 18:28 ` [Qemu-devel] [PATCH v2 1/4] acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro Eduardo Habkost
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Eduardo Habkost @ 2014-03-12 18:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Igor Mammedov, Laszlo Ersek, Andreas Färber,
	Michael S. Tsirkin

This series adds checks for APIC ID limits on initialization and CPU hotplug code.
This fixes multiple issues:

1) Assertion failure when -smp parameter results in a too large APIC ID. e.g.:

    $ ./install/bin/qemu-system-x86_64 -S -smp 254,cores=17,threads=17,sockets=17,maxcpus=254 -nographic
    **
    ERROR:hw/acpi/cpu_hotplug.c:58:AcpiCpuHotplug_init: assertion failed: ((id / 8) < ACPI_GPE_PROC_LEN)
    Aborted (core dumped)

2) Memory corruption on AcpiCpuHotplug_add() when APIC ID is too large (similar
   to the case above, but on CPU hotplug).

3) Out of bounds access on node_cpumask on pc_guest_info_init(), if APIC IDs
   are too large.

Eduardo Habkost (4):
  acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro
  pc: Refuse CPU hotplug if the resulting APIC ID is too large
  acpi: Assert sts array limit on AcpiCpuHotplug_add()
  pc: Refuse max_cpus if it results in too large APIC ID

 hw/acpi/cpu_hotplug.c              |  1 +
 hw/i386/pc.c                       | 17 +++++++++++++++++
 include/hw/acpi/cpu_hotplug_defs.h |  8 ++++++++
 3 files changed, 26 insertions(+)

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-03-13  0:34 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-12 18:28 [Qemu-devel] [PATCH v2 0/4] pc: Ensure APIC ID limits before aborting or corrupting memory Eduardo Habkost
2014-03-12 18:28 ` [Qemu-devel] [PATCH v2 1/4] acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro Eduardo Habkost
2014-03-12 21:17   ` Laszlo Ersek
2014-03-12 21:18     ` Laszlo Ersek
2014-03-13  0:12       ` Eduardo Habkost
2014-03-13  0:29         ` Laszlo Ersek
2014-03-12 18:28 ` [Qemu-devel] [PATCH v2 2/4] pc: Refuse CPU hotplug if the resulting APIC ID is too large Eduardo Habkost
2014-03-12 21:19   ` Laszlo Ersek
2014-03-12 18:28 ` [Qemu-devel] [PATCH v2 3/4] acpi: Assert sts array limit on AcpiCpuHotplug_add() Eduardo Habkost
2014-03-12 21:19   ` Laszlo Ersek
2014-03-12 18:28 ` [Qemu-devel] [PATCH v2 4/4] pc: Refuse max_cpus if it results in too large APIC ID Eduardo Habkost
2014-03-12 22:07   ` Laszlo Ersek
2014-03-13  0:34     ` Eduardo Habkost
2014-03-12 18:58 ` [Qemu-devel] [PATCH v2 0/4] pc: Ensure APIC ID limits before aborting or corrupting memory Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.